東京を脱出したい

気もするしそうでもない気もする

ハーバード・ビジネス・レビュー/集中力を読んでのメモ 

概要

最近、リモートワークで精神的にも体力的にも健全に生活できているのですが、
だんだんと家の中でだらけてきてしまい、集中力を管理する方法などないかなと探していたところ
以下の本を見つけました。

読んでみて今後も頭に留めておきたいことをまとめます。


どのような空間が集中できるのか

JINS MEMEによる研究では

できるだけ集中の「要素」を満たすこと

主に以下の要素があるそうです。

  • 視覚 : 植物が一定の割合視覚に存在すると集中しやすい
  • 光:人間の体内時計に合わせて室内の明るさを調整する
  • 香り:アロマの香りが集中にいいそうな
  • 聴覚;水の音など適度な雑音

集中に入りやすい「構造」を用意すること

構造=手順のようなイメージ
ルーティンを作ることにより集中に入りやすくなる。

個人的にはモンスターを飲むことがルーティンとなり集中に入ることができています。
最近、そのモンスターをノンカロリーコーラにしても集中できるので、炭酸を飲むことがルーティンになっていたり。

集中に入る「準備」を整えること

集中する内容をあらかじめ決めておくことにより、決めていない場合よりも集中する割合が+6%上昇する傾向にあるそうです。

ストレスと集中力の関係


短期的なストレス(締め切りが近いなど)はコルチゾールを高め、アドレナリンを増加させ、意欲を高め、締め切りに近い仕事への効率を上げる(=集中力を上げる)効果を発揮します。

ですが、長期的なストレスは、自身の不安を煽り、気をちらせ、物事に集中できなくさせます。そのような場合には何がストレスなのかを見つめる必要があります。

また、以下がストレスを低減させることに推奨されています。

マインドフルネスを実施する

瞑想のことですね。マインドフルネスにより注意力を司る脳の領域を活性化させる研究結果があるそうです、
GoogleやYahooでも推奨されています。

デジタルデトックスをする

常にメッセージアプリを見ている人は見ていない人よりもストレスを大きく感じているという研究結果があるそうです(様々なバイアスをどのように取り除いているのかは気になります)

スマホを見ないと決めてもつい見てしまうような人はたくさんいると思います。以下のようなアイテムを活用するのも良いですね。

Kitchen Safe 完全な単位 (White Lid + Clear Base)

Kitchen Safe 完全な単位 (White Lid + Clear Base)

  • メディア: ホーム&キッチン

睡眠をしっかりとる

心の持ち方

自分を責めない

自分の置かれている現状をしっかり共感する。
全然仕事が進まないことを素直にみとめ、自分を責めない。責めてしまうと心理的負荷により妨害要員の力を強める

振り返り

1日の様々なタイミングで自分が今やっている仕事に対してどんな感情を抱いているか確認。
自分にとって効果が感じられない仕事のやり方などはすぐにやめるべき

体の状態を観察しリフレッシュ

体のリフレッシュを行う。
都度ストレッチや深呼吸
運動も良いが、前者と比べエネルギーを消費するので集中力を要する業務の後にやることを推奨(退勤後とか)

結果思考とプロセス思考

Todoを結果でおくかプロセスでおくか

10/1日までに〇〇を終わらせる、などのように計画をたて実現を追いかけるというやり方でも良いが
最終的なアウトプットではなくプロセスに焦点を当てる方が仕事に集中できる人も多い。
個別のタスクや小さいマイルストンしてTodo管理

todoist.com

メンタル

仕事があふれている時の心の持ち方

仕事があふれている時ほど集中力を保ちエネルギーレベルを管理することが重要となる。
状況を受け入れることが優先、これは敗北や降参ではなく、現実の状況を冷静に認識して的確な行動を行うために必要。

ラベリング

自分の感情を観察し名前をつける(=ラベリング)も効果がある。

被害者意識に陥らない

自分に不利益なことが多いと被害者意識に陥る。自分ではコントロールできない=>俺が被害者
そうならないように優先順位を見極め取捨選択を行い自分をケアする。

因果推論手法の分類

Uberの記事を参考にしています。
eng.uber.com

因果推論とは

因果推論とは何かが発生する理由の質問に答えることを目的とした複数の統計的手法の集まりである。
回帰分析などはXの変化がYの変化にどのように関連しているかを定量化することを目的としているが、因果推論ではXの変化がYの変化を引き起こすかを判断することを目的としている。

因果推論の手法は違いに疎結合であり、多くの手法が存在する。

因果推論手法の分類

大きく分けて実験データを用いる手法観測データを用いる手法に分類されています。

実験データとははA/Bテストなどのの因果関係を評価するために行われる実験から得られるデータのことであり、
観測データとは、非実験データとも呼ばれ、実際の行動をそのまま記録したデータである。実験データに比べ、因果関係の推定が困難である。

実際のビジネスの現場では、観測データしか得られない場合が多い。

実験データを用いる手法

A/Bテストを行なった場合、真にRCTが行われているのなら、単純に比較するだけで知りたい介入の効果を測定できると思うだろう。
だが、単純に比較するだけでは真の介入の効果を知ることができない場合は存在する。

そのような際に因果推論を用いることで、実験データ内の複雑性を対処することができ、介入がどのように効果をもたらしたかなどのさらなる洞察を得ることを可能にする。


以下のような手法が存在する。

CUPED法(controlled-experiment using pre-experiment data)

最初に介入がなかった場合の各個人のベースラインを推定するために、介入前に得ることができるデータだけを用いて、介入後の時点のデータを予測するモデルを作成する。
その後、実際に介入を行った後の観測データと予測ベースラインを比較することでバイアスを調整した比較を行う手法。

予測モデルが、介入を行わなかった場合の結果変数の値を正しく表現できていることを仮説としている。
Uberなどでは、プラットフォームに精度の高い予測モデルを実装することにより、CUPED手法を適用している。

booking.ai

差分の差分法(DID : difference in differences)

介入実施前と後のデータの差分を、介入群/非介入群それぞれで算出し、介入群の前後の差分と非介入群の前後の差分を再度算出することにより
季節性の影響を取り除き介入効果を算出する手法。

介入群と非介入群の共変量が等しいことを仮説としており、
実際に、実験前の結果変数や共変量の動きが、介入群と非介入群とで等しいことを確認してから行う。
ja.wikipedia.org

CACE法( complier average causal effect)

A/Bテストを実施した場合を考える。介入群と非介入群に分けたとしても、介入群の中に実際には介入を受けたいない個体が存在する場合がある。
(たとえば、販促メールを送る施策で、施策実施群の中にはメールを受信しても開かないグループがいるだろう)

その際に、介入群の中で実際に介入を受けた割合を係数として、A/Bテスト得られた介入効果を調整する手法。

en.wikipedia.org

HTE法 (heterogeneous treatment estimation)

多種多様な顧客が存在する会社の場合、顧客はそれぞれ独自の好みやニーズがある。
したがって、介入が一つのグループではよく働くことがあっても、異なるグループではうまく働かないこともある。

知りたいことは、誰に大きな影響があるか? 誰に小さな影響があるか? 治療は誰に有益な効果をもたらすか? だろう。
そのような質問に答えることができたら、治療が特に効果的または効果的でない条件についての理論を伝えるのに役立つ。

この要求を「観測された共変量を条件とする介入効果であるconditional average treatment effect (CATE)を計算する」方法で答える手法がHTE法である。


egap.org



メディエーションモデリング(Mediation modeling, a causal inference method)

介入効果Xと結果変数Yの間のブラックボックスを開いて、根本的なメカニズム(つまりなぜ起こったのか)を解明する手法である。

介入効果全体を以下の2つの部分に分解する。
仮説を立てた特定のメカニズムによるもの(平均的な因果的メディエーション効果)と、他のすべてのメカニズムによるもの(平均的な直接効果)。

メディエーションモデリングにより以下のようなことができる。

  • 製品の仮定を直接テストする
  • 複数の基本的なメカニズムの相対的な重要性を比較
  • 顧客満足度などの無形の変数がビジネスに与える影響を解明
  • 長期的な目標を短期的なステップに分割する方法を知る


eng.uber.com



観測データを用いる手法

観測データは、RCTが全く行われていないため、結果変数と介入変数の両方に相関を持つバックドア変数が存在する。
そのバックドアをブロックすることを目的とするのが観測的データを用いた因果推論の手法である。

ただ、実際のデータには、さまざまな変数を含む複雑なバックドアパスが多数存在する可能性がある。
制御すべき変数と制御すべきでない変数を決定することは、ドメイン知識が豊富な専門家との密接な協力を必要とする。
いくら多種多様な分析手法を知っていても、アナリスト一人が頑張るだけでは良い分析はできない。
専門家からドメイン知識を引き出す技術なども必要なのである。

この辺りの本を一度読む

f:id:dataanalystudy:20200504223538p:plain
インタビュー本

傾向スコア

バックドアをブロックしたい場合、簡単に思いつくことは、関連する共変量の全く同じである介入個体と非介入個体を比較することである。
ただ、共変量の数が多い場合、このアプローチは実行できない場合がある。そのような場合に傾向スコアを用いて共変量を要約する手法が使用される。
傾向スコアは、共変量が与えられた場合に処理される予測確率である。

傾向スコアが等しい(近しい)個体ではランダムに介入が割り振られる。という仮定の元比較を行うことにより、バイアスを除去することができる。

傾向スコアを用いる手法は複数あり、「傾向スコアのマッチング」や「IPTWなどの観測値を重み付け」などにより分析を構築できる。

tjo.hatenablog.com


 

二重ロバスト推定

因果推論の手法を二種類組み合わせることにより、結果の頑健性(robustness)を示すことを目的とした手法
傾向スコア分析×操作変数法 などの組み合わせが存在。
 

回帰不連続デザイン(Regression Discontinuity Design:RDD)

介入の有無があるルールに基づく変数の閾値で行われる際に使用できる分析手法。
閾値近くの個体はほぼ同じ共変量を持った個体であると考えられるが、ルール変数と結果変数に相関がある場合、その閾値部分の差でバイアスが発生するため、単純には比較できない。
ルール変数によるバイアスを覗くために、RDDを用いた分析を行う。

結果変数を介入変数(0,1)とルール変数(実数)によって回帰する
その際に介入変数の係数が、介入の効果となる


www.slideshare.net

論文紹介になるが、「日銀のマイナス金利政策は銀行貸出を増加させたか?」についてRDDで分析した論文。いつか読む
https://www.rieti.go.jp/jp/publications/dp/18e086.pdf

 

差分の差分法(DID : difference in differences)

実験データの因果推論手法に記載したものと同じです。

操作変数法

結果への影響が及ぶ3番目の変数を特定することにより、因果関係を取り除く手法。

Xを共変量、Yを介入変数、Zを結果変数とする。
XはYにもZにも相関を持っている。

その時、

  • X⇔Wの関係はなし
  • W→Zの関係はあり
  • W→Yの直接の関係はない(W→Z→Yはあり)

を満たすWの値を見つけることができた場合、

Wの変動でXは変動しないため、WとZの相関について調べることで、Xの効果を取り除いたZ→Yの効果を知ることができる。


ja.wikipedia.org
www.m3.com

 

手法の正しさをどう確かめるか

因果推論の有効性について、ほとんどがテスト不可能な仮定に基づいているため、注意して使用する必要がある。
Uberでは「因果モデル図を用いる」「反応度分析・感度分析を行う」「既知の因果効果を伴うシミュレーションテストを行う」などのアプローチを行いこの問題に対処している。

マクロ栄養素を計算し減量計画を立てる

データ分析とは関係ないですが、 健康はパフォーマンスに直結するのでメモ

以下の手順で減量時のマクロ栄養素を計算することができます 僕の減量計画のマクロ栄養素を計算しながら解説していきます。

1.自分の現在の体の状態と目標、それをいつまでに達成するかを決める

ここで見るべき指標は4つです。

  • 目標体重

  • 減量期間

  • 現在の体重

  • BFP(Body Fat Percentag : 脂肪率)
 


まずは現在の状態を調べ、目標を決めましょう。

ここで注意するべきは減量期間です。



 食事制限ダイエッターの方達は「1週間で5kg痩せる!」など短期間で痩せようとしがちです。


 ですが、短期間で脂肪が〇〇kg減るということはカロリー計算上かなり不自然です。



 例えば、1週間で体脂肪が5kg減ったとすると、脂肪1kgを落とすために7200kcalを消費させる必要があるため、1週間で36000kcal消費させたことになります。


この数値は、成人女性にとって約20日分の食事摂取カロリーであり、 20日分の食事から摂取する全てのエネルギーをわずか1週間で消費させたことになります。



 これは、基礎代謝を考慮してもかなり不自然です。 このような「1週間で5kg痩せる!」系のダイエット方法は脂肪が落ちただけではなく体から水分が抜けただけだと考えられます



 では、実際に脂肪を落とす減量をするにはどのように行えば良いのでしょうか?



僕は、脂肪1kgあたり7200kcalを消費させる必要がある事実をしっかりと受け止め、中長期でコツコツと落としていくことが重要だと考えています。


 現に、フィジークのトップ選手などの減量は2ヶ月〜半年程度の中長期で期間を設定し、水分だけではなく脂肪を落としていく減量をしています。


フィジーク 選手の中長期減量を参考にして期間を設定しましょう。


僕は3ヶ月で65kg→60kgに落としたいので以下のように数値を設定します。



\ Days = 90 \\
\ OffFat= 5kg \\
\ Weight = 65kg \\
\ BFP = 0.14 \\


2.自分の体がどのくらいカロリーを必要としているかを知る

ここで見る指標は3つです。

  • BMR基礎代謝量:basal metabolic rate)

  • Activity Level (身体活動レベル)

  • TDEE(必要カロリー:Total Daily Energy Expenditure)



BMRとは生命維持に必要な1日の最低限のカロリーのことで、TDEEとは体型を維持するのに必要な1日の必要摂取カロリーです。

日頃の運動強度の係数であるActivityLevelをBMRに掛け合わせることによって、TDEEを求めることができます。

ハリス・ベネディクト方程式など様々なBMR算出方法があるのですが、下記のようなWebサイトや体組成計などで自動計算してもらう方が楽です。 


keisan.casio.jp


また、ActivityLevel は以下を参考にして採用してください。

  • 座りがち: x 1.2 (ほぼ運動しない)
  • 軽度にアクティブ: x 1.375 (週3日未満の軽い運動)
  • 適度にアクティブ: x 1.55 (ほぼ毎日適度な運動)
  • 非常にアクティブ:x 1.725(毎日のハードエクササイズ)
  • 余分なアクティブ:x 1.9(1日に2回以上の激しい運動) 




\ BMR = 1700kcal \\
\ ActivityLevel = 1.55 \\
\ TDEE = BMR × ActivityLevel = 2635kcal


ここでの1日の必要カロリーは体重を維持するのに必要なカロリーです。体重を落とすには、体重を維持するよりも低いカロリーで生活する必要があります。

次のステップで、減量をするのに必要な真のカロリーを求めます。

3. TDEEを減量時の値に補正する。

1kgの脂肪を消費するには7200kcal必要だと言われています。 落としたい脂肪量と7200kcalをかけて、減量期間中に抑える必要のある合計カロリーを算出します。 その後、抑える合計カロリーを減量日数で割ることで、1日あたりに抑えるカロリーと減量に減量時の1日あたりの摂取カロリーがわかります。



\ TotalLossCarories = 7200kcal × OffFat = 36000kcal \\
\ LossCaroriesPerDays = TotalLossCarories ÷ Days = 400kcal \\
\ CaroriesPerDays = TDEE - LossCaroriesPerDays  = 2235kcal \\


(いい感じの変数名が思いつかず、、)*1


減量期間中は1日あたり2235kcalまで摂取しても良いことがわかりました。 次はカロリー量から「タンパク質・脂肪・炭水化物」の3大栄養素をそれぞれ何グラム食べるかを算出します。

4. 必要タンパク質摂取量を求める。

3大栄養素の中で最初に決めるのはタンパク質です。減量期間中にタンパク質を抑えてしまうと筋肉が分解されてしまうため優先的に取っていきます。

基本的にタンパク質は「体重× 2.2 ~ 2.5g」摂取するのが良いと言われております。



\ P = Weight × 2.3g = 150g \\


5. 必要最低脂質摂取量を求める。

次に1日に摂取する脂質量を求めます。 脂肪はタンパク質・炭水化物に比べ1gあたりのカロリーが大きいため(脂質:9kcal/g・炭水化物: 4kcal/g・タンパク質:4kcal/g)なるべく抑える必要があります。 ただ、全く摂取しないというのも体に悪いので、最低限摂取するべき脂質量を求める必要があります。

1日に最低限に摂取しないといけない脂質は「除脂肪体重(LBM)」× 0.8によって求めることができます。 除脂肪体重とは全体重から脂肪量を取り除いたもので「体重」×「(1 - (体脂肪率(BFP)」によって求めることができます。



\ LBM = Weight × (1 - BFP) = 56kg \\ 
\ F = LBM × 0.8  = 50g \\


6. 必要炭水化物摂取量を求める

 最後に炭水化物摂取量を決めます。炭水化物を求めるのは少し複雑です。


以下の手順で算出できます。

  1. 4で決めたタンパク質量のカロリー(4kcal/g)を計算する
  2. 5で決めた脂質量のカロリー(9kcal/g)を計算する
  3. 3で決めた減量期間中の1日あたりのカロリーからa,bで求めたカロリー量を引く。これが炭水化物で摂取するカロリー量である。
  4. cで求めたカロリー量を(4kcal/g)で割り、必要炭水化物摂取量を算出する。



\ Carories_p = P × 4kcal = 600kcal \\
\ Carories_f  = F × 9kcal = 450kcal \\
\ Carories_c  = CaroriesPerDays_2 - (Carories_p + Carories_f) = 1185kcal \\
\ C = Carories_c / 4kcal = 300g  \\


これで3大栄養素のすべてが算出できましたね。 下が最終的な僕のマクロ栄養素になります。



\ P = 150g \\
\ F = 50g \\
\ C = 300g  \\


あとはこれを毎日しっかり守って(たまにチートデイも行なって)頑張ればしっかりとした減量ができます。

*1:「TotalLossCarories:減量期間中に抑える必要のある合計カロリー」/「LossCaroriesPerDays:1日あたりに抑える必要のあるカロリー」です

Uberの因果推論活用について雑な和訳(後半やる気失せた)

 

(原文)https://eng.uber.com/causal-inference-at-uber/

 

 

Uberは顧客体験の改善・運用分析・製品の開発のために因果推論を活用した取り組みを行っている。本記事ではUberで因果推論をどのようにスケーリングしているかについてまとめる。

 

因果推論とは

 因果推論とは何かが発生する理由の質問に答えることを目的とした複数の統計的手法の集まりである。回帰分析などはXの変化がYの変化にどのように関連しているかを定量化することを目的としているが、因果推論ではXの変化がYの変化を引き起こすかを判断することを目的としている。

 

 近年因果推論の分野は範囲と影響が拡大化している。Uberでの因果推論の取り組みは従来の分析を改善した。

 

なぜ因果推論が重要なのか

 高いレベルで言えば、因果推論はUberのプラットフォームがユーザー体験を向上させることを助けてくれる。因果推論による洞察はユーザーがどこにPainPointを持っているか・製品開発のきっかけ・よりパーソナライズされたデータの提供に役立つ。

 

  例えば、ユーザーが「機能自体に不満がなく、この機能をどのように使えば良いのか」だけがわからない場合に質問をチケットを送ってきている場合、適切な洞察を得ることで、機能の改善ではなく使用方法についてのコミュニケーションに注力することができる。

 さらに細かいレベルで言えば、因果推論はデータサイエンティストとプロダクトアナリストにA/Bテストが不可能な場合やに観測データに基づいた因果関係の質問に答えたり、適切に設計された実験から追加の洞察を得ることを可能にしてくれる。

 例えば、市場のすべての顧客が参加できるメールのキャンペーンを開始する。この場合、RCTを行なっていないので効果検証をどのようにして行うか?また、無作為に制御されたA/Bテストがあり、介入群において、実際には介入が行われなかった(メールを送ったが開かれなかったなど)バイアスをどのように対処するのか?これらの疑問を因果推論により対処することによってプラットフォームでのユーザーエクスペリエンスの向上を図ることができます。

 

因果推論の種類

 因果推論の分野はそれぞれの手法が疎結合であり、初心者が様々な手法の構造的に理解をするのは少し膨大です。より明確に分けるために「実験データで使用する方法」と「観測データで使用する方法」の二つのカテゴリに分けることができます。

 

実験データを用いた因果推論 

 実験データを用いた手法は、A/Bテストなどの実験を設計して行なったデータを用いた手法です。

 

 ほとんどの場合、RCTを行うことが因果関係を測定するのに最もクリーンな方法であり、A/Bテストなどの実験実験を行なっているのになぜ因果推論を使用する必要があるのか疑問に感じるだろう。だが、多くの場合、介入非介入での値の平均の差を見るだけでは満足できない場合が多い。 因果推論により、実験データ内の追加の複雑性に対処することができ、治療がどのようにそしてなぜその効果をもたらしたのかについてより多くの洞察が得ることができる。

 

 

f:id:dataanalystudy:20200429105335p:plain

 

 

 

 

グループ間にある既存の差が重要である場合

 既存の差を調整するには事前実験データを使用した制御実験(CUPED)メソッドを使用することができる。このメソッドはオンライン実験の分散を抑える手法としてよく使用されるが、バイアスの低減にも役立つ。


 CUPEDメソッドを適用する場合、研究者は最初に治療がなかった場合の各個人のベースラインを推定するために、実験事前データだけを用いて実験事故データを予測するモデルを作成する。その後、観測データと予測ベースラインを比較することでバイアスを調整した比較を行う。Uberでは社内実験プラットフォームを通してCUPEDメソッドが実装されている。

 

 ランダム化が失敗する度合いがあり、セレクションバイアスが引き起こされる度合いが存在する。RCTが完全に失敗した場合傾向スコアマッチングやIPTWなどの方法を適用して実験を観測研究として扱うこともできる。

 

 

介入群の中の非介入の要素が存在している場合

顧客に向けて「販促メールを送る」という介入をした場合を考える。全ての顧客がメールを開くわけではない。そのような際にどのようにメールの効果を測定すれば良いのだろうか?もし販促メールを開いた人と非介入の群とを比べる場合、セレクションバイアスが生じる可能性があります。メールを開くことを選択した人たちは開くことを選択しなかった人たち異なる可能性があるからです。

 

このセレクションバイアスを回避するには、販促メールの開封にかかわらず、介入群と非介入群とを比較する必要があります。ただし、介入群の中で実際には非介入の群が存在するため、介入効果は薄まります。

バイアスのない実際の介入効果をどのようにしたら見積もることができるだろうか?

 

この問題に対処するために、我々はComplier  Average Causal Effect (CACE)アプローチを用いることができます(CACEアプローチとは?後で詳しく勉強する)

 

CACEアプローチとは、実際に治療されている部分母集団の治療効果を推定するために、intention-to-treat (ITT:治療割り当ての効果)をコンプライアンス率で調整します。

 

CACEはinstrumental variablesフレームワークの一つとして考えることができる。具体的にemailの例で考える。ランダムな割り当ての下で結果変数に影響を与える唯一の方法は顧客が実際にemailを開くか否かであると考える。CACEではこの仮定が必要である。CACEを用いると研究者はグループの割り当てをinstrumental variableとして使用することで介入が結果変数に与える実際の効果を測定することができる。

 

 

介入効果がサブグループにより異なる場合

Uberのような多種多様な顧客が存在する会社の場合、顧客はそれぞれ独自の好みやニーズがある。したがって、介入が一つのグループではよく働くことがあっても、異なるグループではうまく働かないこともある。

 

そのような問題に、因果推論の一つの手法である heterogeneous treatment estimation(HTE) を用いることで、全ての顧客が利益を得るように設定された体験を特定することができる。

 

HTE分析では、観測された共変量を条件とする介入効果であるconditional average treatment effect (CATE)を計算する。HTEの目標はどのセグメントが介入とコントロールの間に最大の差があるかを特定することにある。言い換えると、どのグループの人が介入により最も利益を得るのだろうか?ということです。

 

HTEの一般的なワークフローは、最初にA/Bテストを実施し、次に観測データを用いてHTEモデルを学習させることです。研究者は異なるセグメントに基づいて最適化された介入を特定することができる。その後、HTEによって得られたアイデアから、個別化された介入を行う二度目の実験を行う。

 

HTEを推定する他の方法として、Uberでよく使われるアプローチの一つは想起モデリングと呼ばれ、quantile regressionなどは広く使用されている別のアプローチである。

 

 

なぜ介入が結果変数を動かしたのかを知りたい場合

介入効果Xが結果変数Yに大きな影響を与えた実験があると仮定する。

XとYが関連している理由について仮説が存在するかもしれないが、回帰分析などの基本的な分析では、仮説を経験的にデータを用いてテストを行なうのではなく、論理的に推測しているだけである。

 

Uberで頻繁に使用されている因果推論の手法であるMediation modelinga causal inference methodはその問題を解決する。  介入効果Xと結果変数Yの間のブラックボックスを開いて、根本的なメカニズム(つまりなぜ起こったのか)を解明する。

 

基本的に、メディエーションモデリングは、介入効果全体を2つの部分に分解する。1つは、仮説を立てた特定のメカニズムによるもの(平均的な因果的メディエーション効果)と、他のすべてのメカニズムによるもの(平均的な直接効果)です。

 

メディエーションモデリングは、データが因果仮説をサポートしているかどうかを経験的にテストするのに役立つ。

 

詳しくはべつの記事に(article on this topic)詳しくまとめている。

 

メディエーションモデリングにより以下のようなことができる。

  • 製品の仮定を直接テストする
  • 複数の基本的なメカニズムの相対的な重要性を比較
  • 顧客満足度などの無形の変数がビジネスに与える影響を解明
  • 長期的な目標を短期的なステップに分割する方法を知る

 

観測データを用いる因果推論

 Uberでは多くの実験を行なっているが、実験で顧客体験に悪影響を与えたくはない。ランダム化されていない変数の因果的影響を推定するために、実験で得られたデータではなく観測データを活用することもできる。

 

観測データを用いる上で考慮する点

 

 例えば、UberEatsの配達の遅延が、顧客の将来的な満足度にどのような影響を及ぼすか知りたい場合がある。RCTにより配達を遅延させる群とさせない群とでテストを行うことは物理的には可能だが、ビジネス上そのような判断は難しい。

 

 そのような際に、観測データから配達の遅延が発生したユーザーと発生していないユーザーを調査することにより、実験に頼らずに影響を調査することができる。

 

 ただ、これら二つのグループ間の差を計算するだけでは、意味のある答えは得られない可能性が高い。配達の遅延が発生したユーザーと発生していないユーザーを単純に比較すると、配達の遅延に遭遇する回数は、注文の数に相関があると考えられるため、配達の遅延が多いほど顧客エンゲージメントが高くなるという信じられない結論に達する可能性がある。

 

 この注文数のような、介入変数と結果変数との間にある変数のことをバックドアパスと呼ぶ。観測的因果推論法では、このようなバックドアパスをブロックすることを目的とする。これを行う一つの方法としては分析で過去の注文数を制御することであり、例えば注文数が5つのユーザーを抽出することなどである。

 

 ただ、実際のデータには。さまざまな変数を含む複雑なバックドアパスが多数存在する可能性があります。制御すべき変数と制御すべきでない変数を決定することは、因果推論分析の重要なステップであり、問​​題のビジネス問題の実質的な知識を持つ研究者とドメイン専門家の間の密接な協力を必要とする。

 

観測データを用いた因果推論の手法

 

含める必要があるバックドアパスを決定した後は、因果モデリングを行う様々な方法がある。

 

 

傾向スコア

最も簡単の方法としては、関連する共変量の全く同じである介入個体と非介入個体を比較することである。ただ、共変量の数が多い場合、このアプローチは実行できない場合がある。そのような場合に傾向スコアを用いて共変量を要約する手法が使用される。傾向スコアは、共変量が与えられた場合に処理される予測確率である。

傾向スコアを算出したの家に、傾向スコアのマッチングやIPTWなどの観測値を重み付けして分析を構築することができる

 

二重ロバスト推定

Doubly-robust estimation(二重ロバスト推定)はg-computationとIPTWの二つのアプローチを組み合わせて介入効果の推定値を測定する。これにより、2つのモデルのいずれかが正しく指定されていれば、推定値は一貫する(とされている)

 

回帰不連続法 

介入が行われた時点での回帰線の不連続性を調べる手法。

例として、Uberでは動的価格設定のさまざまなレベルが、要求する顧客の決定にどのように影響するかを検討している。

 

差分の差分法

介入が行われる前後の差から、介入があった群となかった群との差を取り除くことで、介入の効果を調べる手法。特定の年で発売されるマーケティングキャンペーンや新製品の機能などの効果検証に用いられる。

 

操作変数法

結果への影響が及ぶ3番目の変数を特定することにより、因果関係を取り除く。

 

 

 

観測データを用いた因果推論の有効性について、ほとんどがテスト不可能な仮定に基づいているため、注意して使用する必要がある。

 

例として、傾向スコアマッチングにおいて、共変量がすべて傾向スコアモデリングに含まれている必要がある、だが、この仮定が成り立つかを判断することは容易ではない。

 

 

Uberでは「因果モデル図を用いる」「反応度分析・感度分析を行う」「既知の因果効果を伴うシミュレーションテストを行う」などのアプローチを行いこの問題に対処している。

 

また、Uberでは因果推論手法をスケールさせるために、pythonのパッケージに想起モデリングを実装するなど、全社のチームが簡単に利用できるようにプラットフォームを整備している。また因果推論コミュニティを形成し、学習と共有を促進している。

 

Teradata ErrorList

Failed [3754 : HY000] Precision error in FLOAT type constant or during implicit conversions.

【原因】二つのテーブルをjoinする際に、joinのキーとなる列が、片方ではVarchar型でももう片方のテーブルではDecimal(18,0)などになっていることもあり発生するエラー。キレそう。Decimal(18,0)もVarcharも表示は変わらないので気付きにくい。

【解決】Castによって型変換を行いJoin

 

Failed [3654 : HY000] Corresponding select-list expressions are incompatible.

【原因】Union句などでSelectされている列名が合っていないError

【解決】列名を合わせる。 TeradataStudio にて as hogehoge など列名を定義した後にカンマをつけ忘れて改行をしても警告が出ないこともある。列名のスペルミス以外にもカンマの有無も見る。

 

 Failed [3751 : 42000] Expected a digit for the exponent.

【原因】浮動小数点定数に指数がありません。とのエラー文は語っているが、文法エラーっぽい。詳しい原因が不明

【解決】TeradataStudioにて(CASE WHEN a > 1 THEN 0ELSE 1)みたいに,0とELSEの間にスペースがない場合に発生した

 

 

随時更新