重回帰分析(第1回)
単回帰分析
新規店舗出店候補地
コンビニ出店営業担当者が新規出店候補地をみつけてきました。幸運にも近隣に競合店舗がなく新規出店には絶好のロケーションです。
店舗面積:40㎡
駐車台数:5台
候補地の商圏を含めロケーションのモデルになる既存店舗が5店舗あります。コンビニチェーン本部はこれら既存店舗のデータを分析して、新規店舗の売上高を回帰分析で予測します。売上高を予測するにあたりカニバリは考慮しません。
既存コンビニ店のデータ
店舗 | 売上高(万円) | 面積(㎡) | 駐車台数 |
A | 2,500 | 45 | 4 |
B | 800 | 40 | 3 |
C | 1,500 | 40 | 4 |
D | 1,700 | 45 | 5 |
E | 1,800 | 50 | 7 |
売上高は1か月の平均値です。結果になるデータ(目的変数)は売上高、原因になるデータ(説明変数)として、店舗面積と駐車台数を考えることができます。
単回帰分析
左図は売上高を求めるための説明変数が面積です。
式① 売上高 = 82.8571*面積 + -1985.71
新規店舗面積:40㎡ ですから
売上高 = 82.8571*40 + -1985.71=1,329万円
新規店舗の1か月平均の予測売上高は1,329万円です。
右図売上高を求めるための説明変数が駐車台数です。
式② 売上高 = 143.478*駐車台数 + 1000
新規店舗駐車台数:5台 ですから
売上高 = 143.478*5 + 1000=1,717万円
新規店舗の1か月平均の予測売上高は1,717万円です。
式①、式②では約390万円もの差が生じます。どちらを採用するべきでしょうか?式①、式②のまんなかあたりを採用して
新規店舗予測売上高=約1,500万円
これくらいかな?と算出してもよさそうです。
ただし、
式① R2= 0.322099
式② R2= 0.126938
ですから、信頼できる予測といいきるには難しいようです。
重回帰分析
Rで重回帰分析
単回帰分析から
式① 売上高 = 82.8571*40 + -1985.71=1,329万円
式② 売上高 = 143.478*5 + 1000=1,717万円
まんなかあたりで、新規店舗予測売上高=約1,500万円 でした。
単回帰分析は、
・売上高と面積の関係
・売上高と駐車台数の関係を別々に算出します。
単回帰分析で採用できる説明変数が1個だからです。重回帰分析は売上高と面積と駐車台数の関係を1式で算出することができます。重回帰分析は複数の説明変数を採用することができます。
Rで計算
#データファイルをRへ読み込みます d<-read.csv("ディレクトリ名/ファイル名.csv",header=T) #目的変数は売上高、面積(3列目)と駐車台数(4列目)を説明変数にします。1列目の店舗は不要です。 lm.1 <- lm(d$売上高~.,data=d[2:4]) #サマリーを表示します。 summary(lm.1)
<結果>
Call: lm(formula = d$売上高 ~ ., data = d[2:4]) Residuals: 1 2 3 4 5 426.09 -630.43 426.09 -17.39 -204.35 Coefficients: Estimate Std. Error t value Pr(<|t|) (Intercept) -5500.0 5908.8 -0.931 0.450 面積 200.0 179.2 1.116 0.380 駐車台数 -356.5 494.2 -0.721 0.546 Residual standard error: 633.5 on 2 degrees of freedom Multiple R-squared: 0.4621, Adjusted R-squared: -0.07588 F-statistic: 0.8589 on 2 and 2 DF, p-value: 0.5379
重回帰分析の結果から
売上高=-5500.0+200.0*面積-356.5*駐車台数
このような計算式を得ることができました。
売上高予測
店舗面積:40㎡
駐車台数:5台
これを計算式に代入します
式③ 売上高=-5500.0+200.0*40--356.5*5=15,325万円
先ほどのふたつの単回帰分析結果のまんなかあたりの値を得ることができました。
予測値の検証
重回帰方程式③へ実際の面積、駐車台数を代入して売上高の予測値(fit値)を計算します。
電卓か表計算ソフトで計算するよりもRで計算したほうが簡単なのでその方法を紹介します。
#重回帰分析結果(lm.1)からfit値を算出します。 pre<-predict(lm.1) #結果を表示します。 pre #結果 1 2 3 4 5 2073.913 1430.435 1073.913 1717.391 2004.348
A | B | C | D | E |
2073.913 | 1430.435 | 1073.913 | 1717.391 | 2004.348 |
はじめのRコマンド実行結果のなかに「Residuals」という数値があります。「Residuals」はA、B、C、D、E店舗の実際の売上高と、fit値との差異です。つまり計算値と実績(入力値)との差分です。
Residuals:
A | B | C | D | E |
426.09 | -630.43 | 426.09 | -17.39 | -204.35 |
実績(入力値)と予測値(計算値)との差分をみえる化します。(タブローを使用しています)
●:実績(入力値)
■:予測値(計算値)
ほぼ一致しているのはD店舗だけです。
Rの結果
R-2: 0.4621
ですから、すべてが一致するのは難しいです。
式③ 売上高=-5500.0+200.0*40-356.5*5=15,325万円
この予測結果が怪しくなってきました。