如何评估先知开发的时间序列预测模型

时间:2017-03-20 15:02:25

标签: r facebook time-series

Facebook已发布Prophet预测时间序列。虽然get started page确实概述了如何使用predict()函数进行预测,但它没有说明评估先知所做的时间序列预测的方法,例如残差检查或残差的自相关等等.. 例如,以下几行将进行预测:

var enu1 = new object[] { null, new Dog(), new Cat(), new Dog() };

IEnumerable<object> enu2;

// From this line onward, you should use at least one enu2!
// It is the partially unwinded enu1 that has been rewinded through
// some magic :-)
bool isDog = Is(enu1, typeof(Dog), out enu2);

if (isDog)
{
    // Note the use of enu2!
    foreach (Dog dog in enu2.Cast<Dog>())
    {

    }
}

如果我计算&#39; acf&#39;这样,结果非常令人沮丧。我是对的吗?

1 个答案:

答案 0 :(得分:1)

您可以根据均方误差编写自己的评估函数,以查找模型错误百分比。 预测(模型,未来)方法为您提供现有数据和365个未来数据点的预测(您的数据集中没有)。您有真实数据及其预测。假设您有1000条记录及其预测,您可以通过使用最近20条记录或100条数据记录及其预测来查找错误百分比。作为一个例子,你可以看看我自己用python编写的函数:

from sklearn.metrics import mean_squared_error
import numpy as np

def get_error_percentage(real_stock_price, predicted_stock_price):
    print("get_error_percentage() method was called.")
    rmse = math.sqrt(mean_squared_error(real_stock_price, 
    predicted_stock_price))
    # 800: avg of real_stock_price (test set)
    error_percentage = rmse / np.average(real_stock_price)
    return error_percentage

real_stock_price是您的数据的最后20条记录或100条记录,predict_stock_price是real_stock_price的预测。 您可以在R

中编写自己的评估函数