アニメーションによる統計学習
「数値シミュレーションで読み解く統計のしくみ」という本を読み進めています。
www.hanmoto.com
書籍で紹介されているシミュレーションを、Rで実行して見つつ、それを Javascript で書き換えて、なんとかアニメーションを作れないかと考えております。
今回紹介するのは、本書の冒頭で紹介されている、相関係数のシミュレーションからヒントを得たものです。
回帰直線をあてはめる
何をしているかというと、画面上に、乱数を使ったデータがプロットされるので、それによくあてはまる回帰直線を描いてみよう! ということです。
回帰直線って、あれです。「最小二乗法」という難しい計算が出てきて、それを使って、残差平方和が最小になるように、回帰直線を示す方程式の、切片と傾きを計算しましょう、っていう、あれです。みなさん、一日に2~3回はやっておられると思います。・・・嘘です。そんなこと日常的にやっている人なんかいませんよね。
プロットが表示される
記事の一番したにリンクをはっておくので試してください。
リンクを開くと、勝手にプロットが表示されます。こんな感じ。
お、なんかちょっと難しそうな感じです。気に入らない時はリロードしてね。
切片と傾きを入力する
プロットを見ながら、切片と傾きを入力していきます。ヒントはありません!
まず、切片に数値を入れるのをお勧めします。このプロットだと、縦軸の範囲が15~35なので、20くらいにしておきましょうか。
プロットはわずかに右上がりかなあ~と思いますので、「傾き」を少し増やしていきましょう。様子を見ながら「切片」も調整します。
このくらいでしょうか?
答え合わせする
調整したら、「答え合わせ」をクリックします。
最小二乗法が予測した値を赤線で表示してくれます。
お、けっこういい線いっていましたね。
作った本人がやっているのだから、当たり前じゃーん? とか思いますか?
いえいえ。データは乱数で作っていますから、毎回違うものが出てきます。傾きも正になったり負になったりします。プロットの配置によっては、ありゃ~! というときもあるんですね。
遊んでみてください! ご意見ご感想は、この記事にコメントしてくださいね。