基于时间序列预估次日最优时长以获取最高结果的技术方案咨询
问题解决方案
首先明确:你的现有数据集只有单日的hours(时长)与result(结果)的对应数据,Random Walk算法完全不适合这个场景——Random Walk是针对随时间推进的单变量时序序列(比如每日的收盘价变化),而你的需求本质是找到「时长→结果」的映射关系,进而定位能让结果最大化的时长,属于回归优化问题,而非传统时间序列预测。
具体实施步骤
- 拟合时长与结果的回归模型
用现有小样本数据训练回归模型,捕捉两者的关联:
如果数据呈现简单趋势,可以尝试线性回归,但从你给出的数据看(比如196时长的结果比181低),更可能是非线性关系,优先选多项式回归或树模型(随机森林、XGBoost这类模型能自动捕捉非线性关联,适合小样本场景)。
举个Python实现的简单例子:import pandas as pd from sklearn.ensemble import RandomForestRegressor import numpy as np # 读取数据 df = pd.read_csv("data.csv", sep=";") X = df[["hours"]] y = df["result"] # 训练模型 reg_model = RandomForestRegressor(n_estimators=100, random_state=42) reg_model.fit(X, y) # 生成候选时长范围,预测对应结果 test_hours = np.arange(160, 210, 1) # 覆盖现有数据范围并适当扩展 pred_results = reg_model.predict(test_hours.reshape(-1, 1)) # 找到预测结果最高的时长 best_hour = test_hours[np.argmax(pred_results)] print(f"预估次日最优时长:{best_hour}") - 验证模型稳定性
因为样本量极小,要警惕过拟合:可以用留一交叉验证评估模型的预测可靠性,或者手动观察拟合曲线的合理性,避免被个别异常数据带偏。 - 后续迭代优化
次日收集到新的时长-结果数据后,及时补充到数据集里更新模型。等积累了多日数据后,还可以结合日期维度分析(比如不同日期的最优时长是否有规律),但当前阶段先聚焦于「时长→结果」的映射优化。
补充:为什么不选Random Walk?
Random Walk的核心逻辑是用前一个时间点的数值预测下一个时间点的数值,属于单变量的时序预测(比如预测明天的整体平均result),但你的需求是找到能让result最大化的输入变量(hours),这是自变量优化问题,和时序预测的逻辑完全不匹配,所以没必要硬套Random Walk。
内容的提问来源于stack exchange,提问作者Łukasz Kirzyński
相关产品推荐
相关产品推荐

