誰かが最近この記事で質問を投稿しました:https://static.googleusercontent.com/media/www.google.com/en//googleblogs/pdfs/google_predicting_the_present.pdfpredict()とnewdata - これはどのように機能しますか?
論文のRコードは最後に記載されています。本質的に、この調査では、検索クエリによる売上の予測を1ヵ月先に検討しています。私はモデルと方法を理解していると思いますが、私に困惑するものがあります。それは一部だ:
1 ##### Divide data by two parts - model fitting & prediction
dat1 = mdat[1:(nrow(mdat)-1), ]
dat2 = mdat[nrow(mdat), ]
2 ##### Fit Model;
fit = lm(log(sales) ~ log(s1) + log(s12) + trends1, data=dat1);
summary(fit)
と:
3 #### Prediction for the next month;
predict.fit = predict(fit, newdata=dat2, se.fit=TRUE);
私は(1)でdat2
はmdat
から唯一の最後の行であることを、理解してください。 (2)は、回帰モデルがデータセットの最後の行以外のすべてに適用されることを意味します。
しかし、なぜ(3)の予測モデルのnewdata=dat2
が使用されていて、それはどういう意味ですか?なぜ最後の行だけ?ここ
しかし、なぜ1つの値しか使用されていないのですか?将来的に一つの価値ですか?紙は1ヶ月の予測にのみ集中しているので?それが3-m予測を見ると仮定すると、dat2は最後の3つの値になりますか? – JohnnyDeer
'dat1 < - mdat [1:(nrow(mdat)-3)、]'と 'dat2 = mdat [(nrow(mdat)-2):nrow(mdat) )、] 'しかし、3ヶ月ではなく1ヶ月前に予測することが目的であれば(なぜなら、今後もっと遠く見えると正確さが失われるため)、なぜ2つの追加観測を無駄にしなければならないのか。最新の? – Alex
さて、紙面のMAEは、dat1の回帰の実行値(すなわち、 'predict.fit = predict(fit、se.fit = TRUE)')で測定されます。 'predict.fit = predict(fit、newdata = dat2、se.fit = TRUE)'は1つの値しか返しません。私は 'predict.fit = predict(fit、newdata = dat2、se.fit = TRUE)'の結果がいつどこで使われているのか疑問に思っています。 – JohnnyDeer