# walk-forwardvalidation for univariate data defwalk_forward_validation(data, n_test): predictions = list() # split dataset train, test = train_test_split(data,n_test) # seed history with training dataset history = [x for x in train] # step over each time-step in the testset for i in range(len(test)): # split test row into input andoutput columns testX, testy = test[i, :-1],test[i, -1] # fit model on history and make aprediction yhat = xgboost_forecast(history,testX) # store forecast in list ofpredictions predictions.append(yhat) # add actual observation tohistory for the next loop history.append(test[i]) # summarize progress print('>expected=%.1f,predicted=%.1f' % (testy, yhat)) # estimate prediction error error = mean_absolute_error(test[:, 1],predictions) return error, test[:, 1], predictions
时间: 2024-02-14 20:35:23 浏览: 118
假设检验代码matlab-Mass_Univariate_ERP_Toolbox:Matlab函数用于分析和可视化对与事件相关的潜在数据进行的
这是一个用于单变量数据的走步验证(walk-forward validation)函数,其中包括以下步骤:
1. 将数据集分为训练集和测试集
2. 在训练集上训练模型,并在测试集上进行预测
3. 将预测结果存储在一个列表中
4. 为下一次循环将实际观测值添加到历史记录中
5. 计算预测误差并返回误差、测试集真实值和预测值
在该函数中,使用了 XGBoost 模型进行预测。
阅读全文