2016-04-25 20 views
0

私は過去4年間でGoogleによる年間の収益をダウンロード:ここで外挿する時系列

library(quantmod) 
getFinancials(GOOG) 
df<-viewFinancials(GOOG.f, type='IS', period='A',subset = NULL)['Net Income',] 
df<-(as.data.frame(df)) 

は、データの表示方法です。

2015-12-31 16348 
2014-12-31 14136 
2013-12-31 12733 
2012-12-31 10737 

私は、このデータを「外挿」したいと思います次の10年間にわたる平均線形成長であり、これは次のようなものである。

。 Excelで

、私はソート古いものから最新に、上記のデータを貼り付ける必要があり、すべて、それを選択し、「ストレッチ」10追加の行を超える選択、この結果に:

12/31/2012 10737 
12/31/2013 12733 
12/31/2014 14136 
12/31/2015 16348 
12/31/2016 18048 
12/31/2017 19871 
12/31/2018 21695 
12/31/2019 23518 
12/31/2020 25342 
12/31/2021 27166 
12/31/2022 28989 
12/31/2023 30813 
12/31/2024 32636 
12/31/2025 34460 

どのようにすることができますRの中で同じこと(あるいはそれに近いもの)をしますか?

答えて

2

それはここにあなたのサンプルデータがあるR.におけるいくつかの追加の手順を実行します。

date<-as.Date(c("2015-12-31", "2014-12-31", "2013-12-31", "2012-12-31")) 
value<-c(16348, 14136, 12733, 10737) 

未来に直線的な成長を仮定。線形回帰を実行するには、lmコマンドを使用します。変数 "model"はフィットを格納します。

将来に10年探し
#fit linear regression 
model<-lm(value~date) 

、(予測コマンドに必要な)データフレームとして、次の10年ストアの日付のシーケンスを作成する

#build predict dataframe 
dfuture<-data.frame(date=seq(as.Date("2016-12-31"), by="1 year", length.out = 10)) 
#predict the futurne 
predict(model, dfuture, interval = "prediction") 

上記モデルは、線形成長を想定しています。成長が何であるかについて異なる予測がある場合、式は修正が必要であるか、またはnlm方程式を使用する必要があります。 私は、利用可能なデータの範囲外の予測に関する警告を除外します。

+0

これです。 「GOOG」はスムーズに機能しますが、「TSLA」に適用した場合、10年ではなく4年しか予測されませんでした。なぜなのかご存知ですか?あまりにも予測できない? – Oposum

+0

予測関数は、渡されたデータフレーム内の各行の推定値を生成する必要があります。データフレーム内の列名がモデル内の従属変数名と一致することを確認してください!上記のケースでは、lmモデルは値と日付の2つで、したがってデータフレームの列名も「日付」となりました – Dave2e

+0

ありがとうございました! – Oposum