Python 错误修复:解决 "ValueError: operands could not be broadcast together with shapes (10,) (5,)" 错误
非常抱歉再次给您带来困扰,我检查了代码并发现了错误。在计算未来10年的Petroleum预测值的95%置信区间时,我错误地使用了y_test而不是y_pred_future来计算标准差。这导致了错误的置信区间计算结果。
请使用以下修正后的代码重新计算置信区间:
# 计算未来10年的Petroleum预测值的95%置信区间
confidence = 0.95
n = len(y_future)
t_value = t.ppf((1 + confidence) / 2, n - 1)
std_dev = np.sqrt(np.sum((y_future - y_pred_future) ** 2) / (n - 1))
margin_of_error = t_value * std_dev / np.sqrt(n)
lower_bound = [y_pred_future - margin_of_error for y_pred_future in y_future]
upper_bound = [y_pred_future + margin_of_error for y_pred_future in y_future]
print('未来10年的Petroleum预测值:')
for year, y_pred_future, lb, ub in zip(range(1, num_years + 1), y_future, lower_bound, upper_bound):
print(f'Year {year}: {y_pred_future:.3f} ({lb:.3f} - {ub:.3f})')
非常抱歉给您带来困扰,并感谢您的指出。请使用上述修正后的代码重新运行,应该可以得到正确的置信区间结果。如果还有其他问题,请随时告诉我。
原文地址: https://www.cveoy.top/t/topic/8HJ 著作权归作者所有。请勿转载和采集!