2020/1/25

あけ & よろ

  • きぬいと(@0_u0)
    • 特徴①: 報告する人間の中で一番TwitterIDが短い
    • 特徴②: 人間のデータが好物
    • 特徴③: 最近Juliaを始める
  • リサーチ企業のアナリスト
    • 悩み: TB規模のデータで機械学習するためのアーキテクチャ構築
  • 趣味
    • 簡単なことを難しく考える

今日のテーマは「決める」

10年は「あっという間」でも「長い」

  • 2010年って何?
    • Rのバージョンは2.10.x〜2.11.xだった……
    • きぬいと: Twitter始めて半年の高校1年生(無価値情報)
    • まだ機械学習技術は人間に囲碁で勝てなかった
    • ジョ○ズも存命していた(Wikipedia情報)
  • 10年でいろんなことを「決めて」きた
    • 進路
    • 卒論・修論のテーマ
    • 今日の夕飯

10年あれば人は「人生の分かれ道」に立ちがち

  • 受験「そっか、じゃあ卒業したら、別々だね……」

  • 就活「そっか、東京、いっちゃうんだ……」
    • 5年前そう言って友を見送る(院卒なので)
  • 転職「そっか、この会社やめちゃうんだね……」
    • 結局まだ在籍している
  • 結婚「結婚したのか……俺以外のやつと」
    • 最近友人の結婚ラッシュがヤバい。
  • 夕食「オーストラリア産黒毛和牛ロースが699円!!」
    • 矛盾塊

そして迷いがち

  • どの選択が「良い」のかわからない
  • 「こっちが良さそう」って誰かに言ってほしい
    • そんな都合のいい存在はない。
  • そもそも「良い」って何……?
    • 人生って何……?
    • 生きるとは……?
  • どんどん思考がRegression(退行)。

Regression?

Regression(回帰分析)

  • データを意思決定に使う話
    • 回帰係数による解釈がしやすいらしい?
    • 昨今知られる機械学習と比べると「ホワイトボックス」
      • 今日の報告群の完全な下位互換
  • 前提知識: 回帰分析が分かれば大丈夫
    • 回帰係数が分かれば大丈夫
  • そのうちgithubに資料とデータは上がる
    • 寿司🍣のことを考えてもらって大丈夫です

Hey 回帰分析           私に「生きる意味」を教えて

僕はAndroid派です

  • 生きる意味、持ってますか?
    • 家族、仕事、友達、R……
    • 自分の生きがいに一番寄与するものを探したい
  • 回帰分析で評価・意思決定しよう。
    • どの変数が効くかな?
      • その変数を生きがいに生きていこう
  • 「効いている」の基準: p-value
    • 統計的に有意ならそれでいい

データ

  • 心の中の自分1,000人にアンケートとった
UseData <- data.frame(IKIGAI          =  y, #生きがいスコア
                      R_usage         = X1, # Rを使う喜び
                      MANGA_count     = X2, # マンガの冊数
                      Museum_emotion  = X3, # 美術館に通う
                      Python_usage    = X4, # Pythonを使う喜び
                      Julia_usage     = X5) # Juliaを使う喜び 
  • 他データ省略
  • このデータに回帰分析を適用する

きぬいとの生きがいとは……

  • 回帰分析してみましょう
  • Rでやるにはlm()関数。
    • lm_model1: R_usageMANGA_countMuseum_emotionのみをつかう
  • でもPythonやJuliaのことが気になって仕方がない
    • ついつい投入してしまう
    • lm_model2: Python_usageJulia_usageをくわえてみる。
    • このモデルで生きる意味を決めてしまおう
lm_model1 <- lm(IKIGAI ~   R_usage       + 
                           MANGA_count   +
                           Museum_emotion,
                           data = UseData)
lm_model2 <- lm(IKIGAI ~ ., data = UseData) #全部使うときは`.`

lm_model1の結果

  • EstimatePr(>|t|)を確認する
summary(lm_model1)$coefficients
##                   Estimate  Std. Error    t value      Pr(>|t|)
## (Intercept)    -0.04771901 0.063815589 -0.7477642  4.547789e-01
## R_usage         1.23184029 0.031383497 39.2512124 2.096241e-204
## MANGA_count     0.60711331 0.021224977 28.6037199 7.696141e-132
## Museum_emotion  0.29876870 0.006250491 47.7992354 4.555039e-260
  • 生きがいはR、マンガ、美術館。
    • ブレはほぼ標準誤差(Std.Error)範囲内。
    • p-valueもほぼ0。統計的に有意な結果。

lm_model2の結果

  • EstimatePr(>|t|)を確認する
summary(lm_model2)$coefficients
##                   Estimate  Std. Error    t value      Pr(>|t|)
## (Intercept)    -0.08471934 0.083405958 -1.0157469  3.099971e-01
## R_usage         5.16707707 3.093504186  1.6702990  9.517504e-02
## MANGA_count     0.60710044 0.021224029 28.6043925 8.841532e-132
## Museum_emotion  0.29869484 0.006250579 47.7867438 8.972799e-260
## Python_usage   -4.00617089 3.091913944 -1.2956929  1.953821e-01
## Julia_usage     0.07361794 0.108349088  0.6794514  4.970101e-01

lm_model2の結果

  • R_usageは正、Python_usageは大きく負!?
    • Rにやきもち妬かれている
      • Juliaはほぼout of 眼中
    • 標準誤差も大きく、統計的にも有意じゃない……
    • p-valueではどちらも「重要じゃない」
  • R「あなたの生きがいはマンガと美術館ね。さよなら」

かなしい

  • これからのわたし
    • うず高く積まれたマンガに囲まれ
    • 週末は美術館に行く
  • 充実していなくはない……が……
    • でもなぜか心(とディレクトリ)に穴がぽっかり空いてしまった

BAD END

原因は?

  • 原因は多重共線性
    • 説明変数の中に、互いに相関の強い項目があった
cor(UseData$R_usage, UseData$Python_usage) # 伏線回収
## [1] 0.9999486
cor(UseData$R_usage, UseData$Julia_usage)
## [1] 0.9601607
  • きぬいとはRもPythonもJuliaも好きだったらしい……
  • 結果推定値の標準誤差がでかくなり有意性を失う。

実務でも陥りがち

  • 本来必要なはずの変数
    • p-valueを基準に選ぶと失敗する(こともある)
  • KPIに寄与する変数を見落とす可能性
    • 説明変数間の相関見ないで回帰すると意思決定ミスります。
    • いろんな水準で変数の重要性を考えよう。
  • 決定木でも同じ
    • 多重共線性は精度に大きく影響しない
    • そのくせ重要度ベースでの解釈に大きく関わる。つらい。

まとめ

  • Rは優しい
    • “結果”は簡単に出してくれる。
    • でも結果の妥当性までは教えてくれない
    • 結果を疑おう。
      • ちょっと考えればRもPythonもJuliaも等しく愛せることに気付けるはず
  • p-valueを過信しないようにしよう
    • 意味がある変数が有意になるとは限らない
      • 「回帰係数は0じゃないことはわかる」だけ。
  • 生きがいを探そう

Enjoy!