※敬称略 ■TeXについて 月田 >丁寧に説明したらできたので説明資料を丁寧に作ることが大事. 近藤 >ターミナルから操作ではなくてFinderで直接やったらできた. 羽藤 >プログラミングに慣れてない.サンプルコードが充実していて,原因に戻ってやる習慣がない.なんとなくではなく原因を突き止めて共有するのが大事. 浦田 >コピペは半角/全角スペースのエラーとか出るからね. ■RLモデル 羽藤 >B4は質問いっこはするように. (4ページ目) 羽藤・浦田 >前回質問が出た部分だから,分かったかを聞いた方が良い. 鈴木 >推定してμ_mが1を超えたときは定性的にはどういう意味? 月田 >誤差項の分け方が間違っていたということを意味する 鈴木 >今の行列(15ページ)は,佐佐木のマルコフで出てきた状態遷移確率に対応します. 近藤 >逆行列を持たないことって何かNW上の?意味を持つんですか? 浦田 >NW上の意味を検討した研究はない. 羽藤 >ad-bc=0となるネットワークってどういうの??みたいな話だよね. >なんかおもしろそう. >無限マルコフ性を仮定したとき,価値関数が逆行列を使って計算できるんだけど,逆行列が計算できないネットワークでは>計算できなくて数値計算上エラーでます.みたいなことだな.. >https://www.sciencedirect.com/science/article/pii/S0191261515000582 浦田 >動的ネットワーク配分でも,ネットワーク形状によって,理論的に安定解が得られない,みたいな話があるので,そういったものと相似な問題になると面白そうですね,,ただ,将来効用が一意に算出できないというのは行動科学的に考えると,ピンとはこないので,そういうネットワークがあるとしたら,計算アルゴリズム上の瑕疵なのかな,, 村橋 >IIA特性を持つことに関してRLでも赤バス青バスのような問題があるのでしょうか?ある場合はどのように処理するのが一般的なんですか? 月田 >Link Sizeを導入.詳しくは昨年度の理論談話会資料. 村橋 >経路の特徴を捉えてその相関で処理するみたいな理解をしたが. 浦田 >経路選択モデルみたいなのを飛ばしている. 近藤 >途中まで同じリンクを使うのに最後だけ違うものが,違う経路として処理されているということだと思う. 村橋 >理解. 浦田 >そのような問題を解決するためにPSLなど.RLはそのようなことは直接考えず,将来効用を定義している. 羽藤 >重複リンクは相関を示してるよね. 小林 >https://www.researchgate.net/publication/230663794_Link-Nested_Logit_Model_of_Route_Choice_Overcoming_Route_Overlapping_Problem >https://www.semanticscholar.org/paper/Stochastic-User-Equilibrium-Formulation-for-Nested-Bekhor-Prashker/b7de0e0950253e26ccda176dc77fe81419e380b9?p2df 羽藤 >各リンク変数Xaについて,X3=aX1+bX2で線形結合が成り立つと推定できないってことだから,相関係数が1か0か−1のネットワークではダメという感じですかね. >=各リンク距離は等しくて,説明変数を距離にしたネットワークでは,変数間に1次結合が成立するため,RLの推定はできない. 鈴木 >逆行列計算は,計算できない場合があることだけでなく,計算が遅い(O(n^3))という欠点もあります.大山・羽藤(2016)のモデルは,そのような逆行列計算を不要にしている点で優れているということです. 浦田 >月田さん,後でslackかドライブ内に参考文献リストを共有しておいてください. ■多段階最適化・EMアルゴリズム 望月 >Sigmaは分母ですか? 前田 >分母と分子それぞれについてシグマを取ってます. 羽藤 >潜在クラスの参考文献(この本かなりいいです):https://www.kyoritsu-pub.co.jp/bookdetail/9784320096509 >もともよはMITの航空分野で出てきています.オープンコースもわかりやすいので,これとか見るといいかも.https://ocw.mit.edu/courses/sloan-school-of-management/15-071-the-analytics-edge-spring-2017/linear-optimization/airline-revenue-management-an-introduction-to-linear-optimization/video-6-sensitivity-analysis/ 小林 >それぞれのクラスがそれぞれ効用関数を持っていると仮定していて,そのクラスが高所得/低所得 に(たまたま)分かれるかもしれないという感じかなと 鈴木 >クラスは所与ではないということですか? >クラスを所与として,そのクラスへの所属確率を推定するアルゴリズムだと理解したのですが,, 小林 >クラス数はハイパーパラメータです 鈴木 >なるほど. 小林 >何クラスに分けるかは,2クラス,3クラス......とそれぞれ推定して,ある指標(例えばAIC 基準とか)で最適なクラス数を決めてって手順が一番ベタなんじゃないかと 羽藤 >全体尤度は,小分けにするほどよくなりますが,そうすと,サンプル1に対して個別パラメータということになるから,モデル採択条件として,尤度の上がりかたがクラス数の増加に対して頭打ちするところで打ち切ったりしますね. 増橋 >欠損値の補完というのは,そもそもデータが収集できなくて,例えば,あるアンケートを若年層しか答えてくれなくて,高齢者が無視した場合はできるのか? 前田 >欠損値というのはデータが全くないということではなく,例えばアンケートの一部が空欄になっている.それを期待値で補完することで推定に使えるようにする. 増橋 >潜在クラスと言っているのは,所得等の既知の指標に対して似ているグループを集めて,それに名前をつけるということなのか? 前田 >クラスタリングはしていない.どのようなクラスがあるかのあたりをつけて関数を設定して計算することもできるが,EMでやるなら,例えば2つのクラスに分けられるだろうととりあえず仮定して推定して,クラスへの所属確率と効用関数を推定できる.推定した後に,各クラスがどのような集団なのかを考察するのが普通の流れ. 増橋 >クラスタリングとの違いは,原因が分かっているかどうか? 前田 >原因が分かっていなくてもクラス分けはできる.分かっているなら,その分かっている特性がモデルに現れるように上手く定式化してあげる. 小林 >増橋さんが言ってくれたのは,因子分析. 羽藤 >クラスター分析は多元尺度で異質性が最大になるように分けるけど,EMは目的変数一つで,説明力が最大になるようにパラメータベクトルをサンプルごとに割り付ける.みたいな違いがある.一方説明変数側に着目した方法もあって,因子分析は,説明変数側を分解して説明力が最大化するような共通因子を抽出する. 増田 >計算中に答えていただけると嬉しいです。潜在クラスが二つに分かれたとして、それに高所得/低所得と解釈するのは何を見るんですか?パラメータ? 前田 >パラメーターで補助金に対する感度とかを見る. 浦田 >基礎集計からある程度目星をつけることもある. 羽藤 >直接年収をメンバシップ函数(潜在クラスへの所属確率を予測する函数)の説明変数として推定するような方法もあるよ. 望月 >確率計算のために、Vcafeだけじゃなくて全通り必要だと思ったのですが、そうではないのですか? 前田 >全通り使います. 羽藤 >EMは結構いろいろ使えるので,みんな集中して聞いてください! 浦田 >繰り返し計算のアルゴリズムなので,θ^kとθ^k+1を使ったほうがわかりやすいかも. 羽藤 >行動モデルが多元的な函数構造を持つ場合,多様体学習が厳密には必要になりますし,SN上で入れ子構造をもつ行動モデルの構造推定などで,EMアルゴリズムと同じ推定方法を使います. 羽藤 >両面市場は,小林さんの博士論文のテーマでもありますが,最近伸びてきている交通分野の中核的な方法論ですし,こうした手法とは独立に潜在クラスモデルの研究実績が交通分野で蓄積されてきています.先に述べた航空分野の収益管理でこうした方法を実装してきている経緯があるので,完全に理解したというところまで持っていけると,いいなと思います(有効桁みんな意識してね). 浦田 >増田くんできそうですか. 増田 >やってみて分からないことがあったらSlackで聞きます. 前田 >ドライブにRのファイルを入れている.答えのコードと大枠だけ書いてあるのがあるから,大枠のをDLして自分で書いてみて,解答を見て修正するのが良い. 小島 >EMの練習問題で,効用関数の値の導出のところが分からない. 前田 >パラメータの設定が適当すぎたので修正して後であげる形でも良いですか. 浦田 >答えはあるから計算式上は答えを見ながら説明できない? 前田 >パラメータがおかしすぎたので後で考えます. 羽藤 >説明変数をできるだけ少ない数でまとめるのが主成分分析,直交する(できるだけ異なる)変数に分解するのが因子分析.目的変数のクラス間の異質性ができるだけ大きく分割するのがクラスター分析,同質性の高いクラスに分けるのがEM. 浦田 >問題の設定は分かりましたか?村橋さん 村橋 >なんとなく,はい. 浦田 >どういう問題の設定でしたか?どういう選択構造の話をしているのかということと,どういう最適化問題になりそうか. 村橋 >選択はアンケートにある通りの選択肢の1,2,3に代表されるのかなと思っていた.最適化は,27ページに書いてある目的関数を最適化計算で考えるのかなと思っていた. 浦田 >それは書いてある通りだが,前田さんはどういう意識でこういう目的関数を設定したのか? 羽藤 >今のは分かってないのでは? 村橋 >何となく分かったが裏になる意図が分からない. 羽藤 >何をやってるのかを自分の言葉で説明できないと勉強していることにならないので,村橋の言葉で聞きたい.例えばEMとはどういうもの? 村橋 >欠損値やデータが足りないものをモデルに組み込むならどういう値を当てはめるのが良いのかというのを考える. 羽藤 >潜在クラスは? 村橋 >個人属性みたいなもので,どのような収入とか出身地とかとか,その人の選好に影響していると考えられるような属性情報. 小林 >アンケートの結果をあるクラスにグルーピングする.属性は忘れた方が良いかも. 羽藤 >データが1つあったときに,そこからパラメータベクトルを1つ作るんだけど,EMでは複数にして,モデル全体の適合度を高まることが重要ですって話をしていた.大学生と小学生とで行動は違うから,それを同じパラメータでやるとおかしいから,それを分けて推定するような方法の話をしてた.分かった? 村橋 >分かった. 羽藤 >もともと分かってた? 村橋 >モヤモヤしていたのが理解が進んだという感じ. 小林 >離散選択モデルにおけるEMアルゴリズムはTrainの教科書にも載っています.https://eml.berkeley.edu/books/choice2.html 他の章もぜひ. 望月 >MNLの場合、行動のグルーピングでなく、意思決定のグルーピングかな、と思ったのですが違いますか? >単純に多次元正規分布をEstepで推定するなら行動のグルーピングかなと思いますが >Mstepでした >MNLでEMを使った場合は,答えではなくて,答えが与えられたときにどのようなレベルを返したかという尤度を使った確率で表されているので,こういうときこういうときみたいな行列を分けるとなると,アンケートの場合,同じ項目のこういう場合みたいな点がいくつかあるだけだけど,そうではなくて,この点が与えられたときに,この時は移動します,住みますみたいなラベルがあって,そのラベルに対してクラス分けをしていると思った. 小林 >アンケートは実際の行動ではないということ? 望月 >そう. 小林 >行動という言い方が良くなかった.選好?かな. 望月 >EMを他のモデルで使うのがイメージできていない.MNLなら対数尤度を最大化し,クラス分けは,その尤度を使ってしている. 羽藤 >両方とも尤度を最大化している.羽藤・望月・小林で尤度を最大化したら,それは普通の推定.複数のグルーピングで比較して,どのグルーピングが良いのかというのをやっている. 望月 >尤度と言っているのは,E-Stepの帰属確率で尤度を使ってるよねってこと. 浦田 >確率を使って帰属確率を出している. 望月 >そこのところ. 羽藤 >帰属確率はそう.そこが混乱してる? 望月 >帰属確率というのは,使ってるモデルによって違う?MNLでなかったら,このように帰属確率を求めるのか? >MNLの場合は,MNLのパラメータ推定に使う説明変数があって,説明変数でグルーピングしているのではなくて,説明変数に対してこういう行動をしますみたいなラベル付けに対してクラス分けできますみたいなことです. 羽藤 >みんな頷いているからOK. >自分の言葉で言い換えて,腑に落ちる感覚を掴めたということは,分かったってことになるから,今のはすごく良い. 羽藤 >EMの面白さは伝わったか. 浦田 >増橋さん使えそうですか. 増橋 >クラスタリングを勉強してないので,集合をグルーピングするときに,どういうときにクラスター分析をして,どういうときにEMを使うのかが理解できていない. 浦田 >EMから入るとアルゴリズムの話だが,潜在クラスという見えないクラスがあってそれを推定するために使いますよ,ってことなら,回遊している人と急いでいる人とに分けるみたいなことを考えることができる.基礎集計としては,クラスタリングとかはある. 増橋 >Wi-Fiデータを取ってきて,どういう人たちが集まっているのかということを見るために基礎集計としてクラスタリングをする.離れたクラスターにいる場合,離れている原因に当たりをつけて,EMでフィットするように精度が高くなるようにやるってことか. 浦田 >行ったり来たり.潜在クラスという考え方があって,行動に対してどのような仮説を持っているかというときに,クラスという考え方があればそれを使っても良いし,基礎集計をしていく中でこういう人とこういう人とがいそうだみたいなことが見えてきたら,EMで潜在クラスを計算したりできる. 羽藤 >分析はすごく大事.年齢ごと・年収・性別ごとに平均値がどう違うかみたいなのは大事.こういう粗い分析をさらに精緻化すると,クラスター分析とか,因子分析とか.工学部でこれをやる大きな意義は「予測」.ある変数を変化させたときにどうなりますかという予測式を立てる.それは,説明変数と目的変数を結びつけるためのパラメータベクトル.それを単一のクラスで考えるよりは,複数の潜在クラスに分けてパラメータベクトルを作ってあげた方が,全体の説明力が高いモデルを作ることができる.予測とか制御とか設計につながるところで,潜在的な状況を仮定した方が良くなる.潜在状態は非常に重要な概念.観測できないものを潜在変数とすることで,色々な拡張性がある.その意味で,EMは汎用性高く使える. 増橋 >現象論としてはモデルとして重要で,とはいえフィットすることも大事だから,みたいなことか. 羽藤 >潜在クラスでマーケットを理解してかつ全体の精度は上がってるから良さげ. 望月 >自分の経験上、中心と分散を使ったクラスタリングみたいなことを、EMで解くアルゴリズムがわかりやすかったです。 小林 >@望月 こういうのですか?(違ったらごめん)https://qiita.com/kenmatsu4/items/59ea3e5dfa3d4c161efb 望月 >こういうのです!まさにです! >こんなに難しくやってないかもしれませんが… >Argmaxみたいに、どっちかに分けるわけじゃなくて、それぞれで効用を計算するということですよね?ごめんなさいチャットマンで 小林 >EMアルゴリズムって,さっきのリンク先のように混合ガウス分布の推定の文脈で説明されることが多いので,私も初学はこんがらがっていたんですが「log-sum の形を有する(潜在変数を含んだ)目的関数の最適化問題は全てEMアルゴリズムが適用可能」というのが,本読んでわかってなるほどなーとなりました. >(※説明されることが多い→ネットによく落ちてる解説は大体そう) 近藤 >データセットをクラスに割り当てるのはどうやってやるのか? 前田 >Estepで各クラスへの潜在確率を求め,それをもとに尤度最大化でパラメータを決定.潜在変数とパラメータとを同時に推定できる.クラス分けの場合,データとしては観測できていない変数っていうのが帰属確率にあたっている. 近藤 >コード見てやってみる. 羽藤 >どっちに所属するかの確率を計算する方法もあるし,所属確率を計算する式のパラメータを推定する方法もある. 小島 >潜在変数と帰属確率の関係.潜在変数は,22歳であろうっていうのが潜在変数で,22歳である確率が帰属確率っていう理解で正しいか? 前田 >欠損値を求める話と帰属確率を求める話とは別物として考えてもらいたい.欠損値は全体の傾向から考えるしかない. 小島 >全体の傾向から計算して,これっぽい的な値が出るのがEMという理解をしている. 前田 >全体のデータの傾向と,個人nの属性から年齢はこれくらいだろうっていう期待値を求めている.欠損値の補完というのは,そういうことをやっている. 小島 >帰属確率はまた別で,潜在クラスの分類される確率ってことで合っている?高所得・低所得的な. 前田 >潜在クラスは,クラスがいくつかあると仮定して,その人がどのクラスに帰属する確率が高いかなっていうこと. 小島 >潜在クラスは,所得のデータとかからこれがあるんじゃないかっていうのを読み解くのか. 前田 >個人の属性から効用関数を使って選択確率が求められるので. 小島 >潜在クラスは,既に分かっている個人属性からじゃないと読み解けない?例えば収入のデータがあるから,潜在クラスを収入のデータで分けられそう的な?収入のデータがなければ,そういう潜在クラスがあるかは分からない? 前田 >データがなければ,そのクラス分けが本当に存在してるかは確認できない. 羽藤 >交通行動分析の手順はここに過去研究室メンバーでまとめたのが置いてあります.http://bin.t.u-tokyo.ac.jp/kaken/data/3-1-20140926.pdf >これもある.http://bin.t.u-tokyo.ac.jp/prml2009/index.html >めちゃ勉強してるなー,2009年か.今だと違う本になりそう. 月田 >MNLは基本なので,手を動かしてコードを回して自分のものにしてほしい. 前田 >選択モデルの話が多かったので,急にEMがやってしまって混乱させてしまったと思う.すみませんでした. 羽藤 >EMは確かに立て付けが難しい.EMってこういうものなのかって腑に落ちたらすごい,前田さんは腑に落ちてる? 前田 >ずっと使っているので. 羽藤 >最初はすごい難しい.だから手を動かして考えることが大事. 小林 >RLとEMとがあってボリュームがあったので,難しいことをやったみたいになっていると思うが,少しずつ繰り返しやる中で分かれば良い.卒論で推定はしなくて配分だけでしたという感じでも,知ってるだけでもだいぶ違うので,しっかり復習することが大事. 浦田 >MNLモデルを発展するためのアプローチとして,欠損補完や潜在クラスがあり,その計算アルゴリズムとしてEMがあります. 小林 >本来は計算アルゴリズムのパート.その中の1つがEM, 浦田 >前田さんのp.4には,しっかりかいています >>確率計算の際には効用関数を全て使います. ■EMアルゴリズム