統計とか機械学習について

手法に関するポエム


状態空間時系列モデル

ARIMAモデルとちがい、観測変数と潜在変数に分ける

y_t~f_obs(x_t)

x_t~f_transition(x_t-1)

ベイズだと潜在変数(データであっても良い)xのモデリングの柔軟性が高いため、何でも書ける。

インストール数やXAU,来客数などの時系列データの広告やクーポンなどの施策、曜日などの効果の推定など。

やろうと思えば、株価のモデリングなどでday,week,month,yearの周期性を階層的に入れたりもできる。


因果推論

y=f(x)+eと適当に多変量解析して予測精度が良くても、因果関係は全く考慮していなく、介入効果を見たい場合は因果グラフを書いて考察するのが必須。

ランダム化ができない場合やコストが高い場合に重要。というか、最低限この素養は必須。医療界隈だと、薬などはRCTしやすいが、手術などはどうみても倫理的にRCT不可能。


因子分析

xを例えば5次元の確率ベクトル変数とし、fを2次元とすると

x=Af+e

とxは実は5次元でなく、2次元空間中の軸であったと仮定する手法。次元圧縮。


ニューラルネット

たとえば3層だったら、y以外すべてベクトルとして

y=f2(B2*z)

z=f1(B1*x)

だが

y=Σβ_i z_i

とxから移した基底zで展開してるだけで、これを多重にしたようなモノっぽい。アクティベーションも非線形なら何でも良いらしい。

時系列は、RNNと状態空間だったら、内部を式でかける状態空間の方が優れていると思う。


評価

「評価関数」というものがあって、将棋なんかで有名だけど、そもそも何か生産的な事をする(作曲・演奏なり、料理、卓球の球など)のに絶対必要なモノで、これをデータサイエンスでもっとできると思います。



異常検知

税金で運営されている誠に遺憾なクソ法人の人件費が10人で10000万円などとする。

職員数,補助金,不正

10,10000,1

10,5000,0

みたいにデータをとって、ロジスティック回帰などで

怪しい金=補助金額-観測されている職員の報酬

怪しい金~n_shokuin_notobs*不正

とすれば、不正かどうか判定できる、これだと不正かどうかはラベルが必要。

会計の基礎データと経営指標をぶっこんで後々に不正になったかTFをラベルにして判定する研究があった。