Rで重回帰分析してWEBサービスの改善方針を立てるよ。

Rを使うと重回帰分析も恐ろしく簡単にできます。

御覧ください。説明は3分で終わります。

テーマ

カメラSNSを想像てしてみてください。My365でもInstagramでもSnapeeeでも良いです。

直近の4日間に登録したユーザーの、Twitter連携率、Facebook連携率のデータがあるとします。そこから写真投稿率を導き出したい。

これが分かると、TwitterとFacebookのどちらが写真投稿率に「効くか」が分かります。それがわかれば、どちらを連携してもらうかの戦略が立ちます。

テキトーに健全そうなお題を選びました。これがお馬さんの前走データから次回レースの走破タイムを導くとかだと俄然燃えるんですが話がわかりにくくなるのでやめます。

データを入力する

rのシェルでc()を使うと、配列を作成できます。ここ4日分の写真投稿率を代入しておきます。Rでは代入がイコール記号じゃなくて矢印なのが可愛いです。

> photo<-c(0.78,0.77,0.77,0.81)

表示する時は、変数名をシェルに叩くだけです。echoとかprintとか要りません。

> photo
[1] 0.78 0.77 0.77 0.81

他のも入れておきます。

> twitter<-c(0.35,0.40,0.36,0.43)
> facebook<-c(0.43,0.36,0.39,0.39)

全部のデータをまとめてデータフレームを作ります。

> action<-data.frame(photo,twitter,facebook)

表示するとこんな感じです。

> action
  photo twitter facebook
1  0.78    0.35     0.43
2  0.77    0.40     0.36
3  0.77    0.36     0.39
4  0.81    0.43     0.39

いざ重回帰分析

コマンド一発です。

> lm(photo~.,data=action)
 
Call:
lm(formula = photo ~ ., data = action)
 
Coefficients:
(Intercept)      twitter     facebook  
     0.3256       0.6093       0.5665

出ました。

Interceptが切片、twitterとfacebookに値はそれぞれの係数です。これは線形を仮定した重回帰分析で、結果として写真投稿率は次のように予測できます。

(写真投稿率) = 0.6093×(Twitter連携率) + 0.5665×(Facebook連携率) + 0.3256

こうするとたとえば写真投稿率を上げる施策を考える時に、このデータの場合は、Facebook連携率を上げてもらうよりもTwitter連携率を上げてもらった方が効果的であろうことが分かります。

回帰分析って面白いですね。回帰分析でお仕事に限らず色々なものの方針がたったりたたなかったりします。楽しいです。でも、モデルを単純化しすぎていることに気づかずに数字を過信しすぎるときっと痛い目にあいます。

※ このブログには厳密性を欠く記述が多数含まれております。

About katty0324

Leave a Reply

Scroll To Top