初级
存货估测:线性回归方程建立(最小二乘法)
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
"""
金融风险管理 - q030
存货估测:线性回归方程建立
"""
metadata = {
"id": "q030",
"title": "存货估测:线性回归方程建立(最小二乘法)",
"module": "存货估测与回归分析",
"difficulty": "beginner",
"data_files": ["case33_fry_cost.csv"],
"skills": ["线性回归", "最小二乘法", "numpy/scipy"],
"estimated_minutes": 10
}
"""
【题目】
读取case33_fry_cost.csv,建立存货账面成本与前3年累计投放量的线性回归模型:
Y = a + b * X
(Y = 账面结存成本(万元),X = 前3年累计投放(万kg))
使用numpy.polyfit拟合。
输出字符串(保留4位小数):
回归方程: Y = {a} + {b}X
截距(a): {a}
斜率(b): {b}
"""
def solve():
import pandas as pd
import numpy as np
from pyodide.http import open_url
from io import StringIO
BASE_URL = "https://data.zuihe.com/finance/"
df = pd.read_csv(StringIO(open_url(BASE_URL + "case33_fry_cost.csv").read()))
x = df['cumulative_3yr_stocking'].values
y = df['book_cost'].values
coeffs = np.polyfit(x, y, 1)
b = round(coeffs[0], 4)
a = round(coeffs[1], 4)
lines = [
f"回归方程: Y = {a} + {b}X",
f"截距(a): {a}",
f"斜率(b): {b}",
]
return '
'.join(lines)
if __name__ == "__main__":
print(solve())
示例
输入
solve()
期望输出
回归方程: Y = 3029.1929 + -9.7709X | 截距(a): 3029.1929 | 斜率(b): -9.7709
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199