初级
综合案例实战:渔业公司存货采信综合分析
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
"""
金融风险管理 - q095
综合案例实战:渔业公司存货采信综合分析
"""
metadata = {
"id": "q095",
"title": "综合案例实战:渔业公司存货采信综合分析",
"module": "综合案例实战",
"difficulty": "beginner",
"data_files": ["case33_fry_cost.csv"],
"skills": ["存货采信", "回归验证", "信贷判断"],
"estimated_minutes": 15
}
"""
【题目】
读取case33_fry_cost.csv,基于线性回归对渔业公司账面成本进行采信分析。
计算:
1. 建立线性回归 Y=a+bX
2. R²值
3. 最大残差率
输出格式:
=== 渔业公司存货采信分析 ===
回归方程: Y = {a} + {b}X
R²: {r2}
最大残差率: {x}%
采信结论: 采信/需进一步核查
"""
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, a = round(coeffs[0], 4), round(coeffs[1], 4)
y_hat = np.polyval(coeffs, x)
ss_res = np.sum((y - y_hat) ** 2)
ss_tot = np.sum((y - y.mean()) ** 2)
r2 = round(1 - ss_res / ss_tot, 4)
max_resid = round(np.max(np.abs((y - y_hat) / y_hat)) * 100, 2)
conclusion = '采信' if r2 > 0.85 and max_resid < 15 else '需进一步核查'
lines = [
"=== 渔业公司存货采信分析 ===",
f"回归方程: Y = {a} + {b}X",
f"R²: {r2}",
f"最大残差率: {max_resid}%",
f"采信结论: {conclusion}",
]
return '
'.join(lines)
if __name__ == "__main__":
print(solve())
示例
输入
solve()
期望输出
=== 渔业公司存货采信分析 === | 回归方程: Y = 3029.1929 + -9.7709X | R²: 0.9087 | 最大残差率: 3.55% | 采信结论: 采信
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199