無粋な日々に

頭の中のメモ。分からないことを整理する

APIキー、OAuthクライアントID、サービスアカウントキーの違い:Google APIs

GoogleのサービスをAPI経由で利用する際、大きく3つの認証情報が登場します。「APIキー」、「OAuth2.0クライアントID」、「サービスアカウントキー」です。本投稿ではこれらの用途をざっくりと整理し、取得方法、Pythonでの使い方の違いを説明します。 まと…

YouTube API: 再生時間が条件に合う動画を選んで再生リストを作成(2/2)

前回はB-lifeのYouTubeチャンネルを題材に、チャンネル中にある動画情報一覧および再生時間を取得し、再生時間が10分以上15分以下の条件に収まる動画のみに絞り込みを行いました。本投稿では、これら動画を使って再生リストを作成します。 前回掲載した全ス…

YouTube API: 再生時間が条件に合う動画を選んで再生リストを作成(1/2)

YouTubeで再生時間の条件で動画の再生リストを作りたくなることありませんか?今回YouTube Data APIを使って再生時間が10分以上、15分以下の動画のみを含む再生リスト作成するPythonコードを書いたので共有します。長くなりそうなので、2回に分けて投稿しま…

ファイルをバイト単位で比較:cmpコマンド

2つのzipファイルを比較したい場合など、バイナリレベルでファイルを比較したいことがあります。こういう場合はシェルのcmpコマンドで比較すると良いです。 FILE1とFILE2を比較する場合の構文は以下になります。 cmp FILE1 FILE2 完全に一致していれば何も出…

Softbank光が遅いのでWiFiルータを買ったら爆速になった話

Softbank光に加入して数ヶ月が経ちました。レンタル品(光BBユニットEWMTA2.3)のWiFi/ルータ機能を使っていたのですが、どうも通信が安定せずにストレスフルな状態でした。そこでWiFiルータを新しく調達したところ大幅に快適になりました。私の環境でどのよ…

Stanでガンマ回帰(動かす編)

回帰問題で目的変数が正の連続値をとる場合、ガンマ回帰は選択肢の一つになります。個人的に適用シーンは多いと思うのですが比較的情報が少ない気がします。本投稿ではトイデータとStanでサクッとモデルを動かしてみたいと思います。なおガンマ回帰はGLM(一…

stan: Divergent transitions after warmupの警告が出る場合

stanでサンプリングを行っていると次のような警告がでる場合があります。 1: There were 15 divergent transitions after warmup. 2: Examine the pairs() plot to diagnose sampling problems おっかないので、ドキュメントを読んで整理してみました。部分…

Pythonでmode(最頻値)を算出する最良の方法

Pythonでたまにmode(最頻値)を算出したくなるのですが、いつもどう算出するか迷います。算出方法を整理して、処理時間も計測してみました。 5つの方法 最良の方法(結論) 1. 最頻値が複数ある場合の挙動の差 2. 関数一発かの差 3. 処理速度の差 求め方 設…

Python:venv + pyenvでの環境構築

一つのOS上で複数バージョンのPythonを切り替えるためのツール、venv +pyenvのメモです。2020年の今、Pythonバージョン3.3以上しか使うことないだろうということで、個人的に venv +pyenvの組み合わせがシンプルで良いかと思います。本投稿では venv +pyenv…

時系列分析:ARモデルの性質と定常性(1/2)

ARモデルはシンプルな時系列モデルですが、自己共分散や自己相関はMAモデルほど簡素な表現はなく、Yule-Walker方程式のような連立方程式を解いていくのが一般的のようです。本投稿では2回に分けてARモデルの期待値、自己相関および定常性などの性質を整理し…

時系列分析:MAモデルの反転可能性

自己相関構造は時系列モデル選択の重要な基準になります。しかしながらMAモデルでは同じ自己相関構造を持つモデル(パラメタ)が複数存在するため、その中からMAモデルを一つ選ぶ基準が必要です。この基準として反転可能性の議論がでてきます。本投稿ではMA…

時系列分析:ホワイトノイズとiid

ホワイトノイズとiid(independent and identically distributed:独立同分布)を混同してしまう事があります。本投稿ではこの2つを整理します。普段の分析ではホワイトノイズとiidをそこまで厳密に区別するケースは少ないと思います。理論を追っていて、前提…

時系列分析:後退オペレータについて

時系列の勉強をしていると、後退オペレータ(Backshift Operator)というのが出てきます。このオペレータを使って時系列モデルを表現することで、簡潔で見通しの良い議論が可能になるようです。本投稿ではこれについて考察したいと思います。なお後退オペレ…

はてなブログで日々数式を含んだ記事を書く

はてなブログを復活して2週間。はてなブログでTeXを使って数式を書くのが大変で当初ずっとイライラしていた。現時点での私の対応策を書きたいと思う。 まずQiitaと比べて圧倒的に面倒な点は次: 下書きがリアルタイムでレンダリングできない(数式、リンクを…

時系列分析:移動平均過程(MAモデル)の性質と定常性

時系列分析では、系列の統計量が時点に依存しないというシンプルな構造が基本となっています。まず定常性の元に基本的なモデルが構築され、そこから非定常のモデルに拡張されていくようです。そのため「定常かどうか」を議論されることが多いです。本投稿で…

統計学習メモ:分散、共分散

データ分析の勉強をしていると期待値や分散の計算は非常によく使う。ほとんどこればっかりやっている感じ。 なので期待値や分散の性質は、一度納得したら覚えておくとスムーズ。 本記事では分散、共分散の定義や性質をまとめます。期待値のまとめはこちらか…

統計学習メモ:期待値

データ分析の勉強をしていると期待値や分散の計算は非常によく使う。ほとんどこればっかりやっている感じ。 なので期待値や分散の性質は、一度納得したら覚えておくとスムーズ。 本記事では期待値の定義や性質をまとめます。分散、共分散のまとめはこちらか…

Python: 多次元のnumpy.arrayを1次元にするreshapeとravel

numpyの多次元配列を一次元配列にしたいときは、reshape(-1,)かravel()を使えば良い import numpy as np # サンプルデータ生成(3 × 3) > x = np.arange(9).reshape(3, 3) # 表示 > x array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) # 方法1 > x.reshape(-1,) ar…

Python: print関数の仕様

print関数って、意識せず使ってたけどこんな仕様なんですねぇ 面白かったので、いくつか見てみましょう。 複数引数がとれて、一気にprintできる 複数引数を渡すと、スペースで区切られて出力される # 複数引数を与えてみる print('str1', 'str2', 'str3') #>…

pandas.DataFrameのplotメソッドとsubplotを使って、複数グラフを柔軟にプロットする

pandasのデータフレームのplotメソッドは超便利でよくお世話になる。 複数カラムを別々のグラフに出力したい場合もsubplot=Trueを指定するだけいいので結構程度便利なんだけど、 もう少し柔軟にプロットしたい時がある。 例えば、 カラム1とカラム2は1つ目の…

Python: jsonな文字列に対してformatメソッドを使う

jsonな文字列に対してformatメソッドを使う方法 pythonでjson形式を含む文字列をformatメソッドを使う場合ちょっと工夫が必要だ。 例えば、以下のような文字列に対してformatメソッドを使うとエラーが出る # jsonな文字列 json_str = """\ {'member':'{name}…

Python: 正規表現で複数行マッチングの置換を行う

Pythonの正規表現で複数行マッチングの置換を行う Pythonのreモジュールを使って複数行に渡る正規表現マッチング・置換を行う場合はflagsオプションに適宜re.MULTILINEやre.DOTALLを指定する。 # 直接置換する場合 re.sub(pattern, repl, string, flags=(re.…

R: RのBroadcast

RのBroadcast RのBroadcast(ベクトル、行列などの型や次元を自動で合わせて演算する)でたまに混乱するのでまとめる。結論だけ書くとRではベクトルを行列にBroadcastするとき、列方向で埋め合わせるという事だけを忘れないようにすればOK 基本原理 デフォル…

数式書くテスト

数式書くテスト $$ \begin{equation} y=\theta_1x_1 \end{equation} $$ 参考 【簡単】はてなブログのサイドバーをカスタマイズ。横幅と注目記事のサムネイル画像サイズを調整しました。 - ゆるりまあるく はてなブログでの数式の書き方 まとめ - エウロパ見…