2017-01-03 11 views
1

私は現在、24/7ショップに到着する顧客の数を予測する大学プロジェクトに取り組んでいます。私は、特定の年のすべての顧客が提供された日時を(他のものの中でも)含む店舗のデータを使用しています。複数回線形回帰のクロスバリデーションR

私はこのデータセットをトレーニングセットと相互検証セットに分割しました。さらに、トレーニングセットを集約して同じ年の気象データとマージして、たとえば高温によってさらに多くの顧客が生まれた場合には、

マージされたデータの簡易版は、このようなものになります。今年の毎時間のために

| ServedCustomers | Month | Day | Hour | Temperature (C°) | Rain(binary) 
| --------------- | ----- | --- | ---- | ---------------- | ------------ 
| 1    | 12 | 31 | 12 | 9.2    | 0 
| 0    | 12 | 31 | 13 | 9.8    | 1 
| 2    | 12 | 31 | 14 | 10.1    | 0 

を、私が務めた顧客の数ならびに対応する気象データを持っています。

私は、Rで複数の線形回帰モデルを作成し、他のすべての変数を予測変数として持つ顧客の数を予測しました。 summary()コマンドを使用すると、MSE、R^2などの統計情報はこれまでのところ大丈夫です。

ここで、同じモデルが相互検証セットでも機能するかどうかを確認したいと思います。そのために、私は同じ気象データをマージして、上記の表と同じ構造のデータセットを得ましたが、異なる顧客数でしか作成できません。

しかし、それは私が現在立ち往生しているところです。 predict.lm()関数をモデルと相互検証セットと一緒に使用すると、予測値とわずかな追加情報しか得られません。

モデルが他のデータセットに対してどのくらいうまく機能するかの概要を作成する方法はありますか? summary()コマンドと似ていますが、線形モデルがもともとベースにしていないデータセットの場合は同じですか?

答えて

0

平均二乗誤差と二乗平均平方根誤差を計算して、モデルがどれほどうまくいったかを確認できます。

1)係数をとり、トレーニングデータの共変量行列で乗算します。 yhat =(X * b)

2)あなたの訓練セットをとり、これらと上記のyhatの違いを取ってください。

3)二乗誤差

4)

低い値根平均二乗誤差=答えの平方根を取るより良いフィット感、全体の

を意味し、