“样本内”和“样本外”预测之间有何区别?


17

我不了解“样本内”和“样本外”预测的确切区别是什么?样本内预测利用可用数据的子集来预测估计周期以外的值。样本超出预测将使用所有可用数据, 这些正确吗?

具体来说,以下定义正确吗?

样本内预测利用可用数据子集来预测估计周期以外的值,并将它们与相应的已知或实际结果进行比较。这样做是为了评估模型预测已知值的能力。例如,1980年至2015年的样本内预测可能会使用1980年至2012年的数据来估计模型。然后,使用此模型,预测员将预测2013-2015年的值,并将预测值与实际已知值进行比较。反之,样本外预测将使用样本中的所有可用数据来估计模型。对于前面的示例,估计将在1980-2015年进行,而预测将在2016年开始。


你能提供一些背景吗?您对自己的问题提供的答案似乎还可以,但是术语可能是特定于主题的。
IWS

您从哪里获得这些定义的?
gung-恢复莫妮卡

样本中的数据是您在建模时知道的,并用于构建该模型的数据。样本外是看不见的数据,您只能生成其中的预测/预测。在大多数情况下,与所有参数均已校准的样本内相比,该模型的样本外性能比样本内性能更差。
里克,

@IWS我添加了一个特别的问题:)
Engin

@Richard请阅读新的特殊问题……
Engin

Answers:


32

“样本”是指用于拟合模型的数据样本。

首先-您有一个样本
第二-您在样本上拟合了模型
第三-您可以使用该模型进行预测

如果您要预测的观测值是数据样本的一部分,则它是样本中的预测。

如果您预测的观测值不是数据样本的一部分,则它是样本外预测。

因此,您必须问自己的问题是:特定观察是否用于模型拟合?如果将其用于模型拟合,则观测值的预测在样本中。否则将超出样本。

如果您使用1990-2013年的数据拟合模型,然后对2011-2013年进行预测,则为样本内预测。但是如果您仅使用1990-2010年进行模型拟合,然后预测2011-2013年,则该预测将超出样本。


我们收集了1990年至2013年的样本,然后将模型拟合到样本中,然后我们预测2011-2013年是否为样本内?还是我们有1990年至2013年的样本,然后我们对样本1990年至2010年进行了拟合,我们预测了2011年至2013年,这是否超出样本?
Engin YILMAZ '02

是的,如果您使用1990-2013年的数据拟合模型,然后对2011-2013年进行预测,则为样本内预测。但是如果您仅使用1990-2010年进行模型拟合,然后预测2011-2013年,则该预测将超出样本。
所罗门王的马

3

假设您的样本中有10个数据点的序列。该数据可以分为两部分-例如,前7个数据点用于估计模型参数,后3个数据点用于测试模型性能。使用拟合模型,对前7个数据点所做的预测将称为样本内预测,而对后3个数据点所做的预测将称为样本外预测。这与将数据分为训练集和验证集的想法相同。


1

样本内预测是对使用观察到的数据开发的模型的预测能力进行正式评估的过程,以查看算法在复制数据方面的有效性。它有点类似于机器学习算法中的训练集,样本外类似于测试集。


您对样本内预测给出了简洁的解释-您是否也可以为样本外预测提供相同的解释(即简短的解释,而不仅仅是与测试集的比较)?
ReneBt


-1

在时间序列预测中,“ Insample”表示训练数据“ Outsample”表示测试数据

在时间序列中,首先我们可以预测“样本”(即火车)数据的结果。稍后,我们可以预测“超出样本”(即测试)数据的结果。

model = ARIMA(order = (p,d,q), seasonal_order=(P,D,Q,S))
model.fit(train_data)

train_predictions = model.predict_in_sample()
test_predictions = model.predict(n_periods=len(test_data.index))

predictions = pd.concatenate((train_predictions, test_predictions),axis=0)

我认为您的答案被误解了,因为它无法回答问题-特别是“以下定义非常正确吗?” 不是地址。
MartinModrák19年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.