当前位置:   article > 正文

2024美赛A题(资源可用性和性别比例)深度剖析|详细建模+代码实现(线性回归+随机森林+SIR模型)_2024美赛a题用到的模型

2024美赛a题用到的模型

首先回顾一下本次美赛A题:

对于问题1,我们有以下解决思路:

问题1python示例代码:

  1. import numpy as np
  2. import pandas as pd
  3. import statsmodels.api as sm
  4. import matplotlib.pyplot as plt
  5. import seaborn as sns
  6. np.random.seed(42)
  7. n = 100
  8. A = np.random.uniform(0, 10, n)
  9. epsilon = np.random.normal(0, 1, n)
  10. r = 0.5 * A + 0.1 * epsilon # 模拟线性关系,加上随机误差
  11. # 创建数据框
  12. data = pd.DataFrame({'A': A, 'r': r})
  13. # 构建线性回归模型
  14. X = sm.add_constant(data['A']) # 添加常数项
  15. model = sm.OLS(data['r'], X)
  16. results = model.fit()
  17. # 打印回归结果
  18. print(results.summary())
  19. # 残差计算
  20. residuals = results.resid
  21. # 残差图
  22. plt.figure(figsize=(10, 6))
  23. plt.scatter(data['A'], residuals)
  24. plt.title('Residuals vs. A')
  25. plt.xlabel('A')
  26. plt.ylabel('Residuals')
  27. plt.show()
  28. # 正态概率图
  29. plt.figure(figsize=(10, 6))
  30. sm.qqplot(residuals, line='s')
  31. plt.title('Normal Q-Q Plot')
  32. plt.show()

问题1matlab示例代码:

  1. rng(42); % 设置随机数种子
  2. n = 100;
  3. A = randn(n, 1) * 10;
  4. epsilon = randn(n, 1);
  5. r = 0.5 * A + 0.1 * epsilon; % 模拟线性关系,加上随机误差
  6. % 构建线性回归模型
  7. X = [ones(n, 1), A]; % 添加常数项
  8. b = regress(r, X);
  9. % 计算模型预测值
  10. r_hat = X * b;
  11. % 计算残差
  12. residuals = r - r_hat;
  13. % 绘制残差图
  14. figure;
  15. scatter(A, residuals);
  16. title('Residuals vs. A');
  17. xlabel('A');
  18. ylabel('Residuals');
  19. % 绘制正态概率图
  20. figure;
  21. qqplot(residuals);
  22. title('Normal Q-Q Plot');
  23. % 打印回归系数
  24. disp('Regression Coefficients:');
  25. disp(b);

查看更多思路移步GZH->【Unicorn建模】

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/89713
推荐阅读
相关标签
  

闽ICP备14008679号