python:用OLS 求企业的净利润年平均增长率
以长春高新 2006年-2021年的净利润 为样本数据,
print("长春高新 求企业的净利润年平均增长率")
a = 3757 / 5.267
n = 15
r = math.pow(a, 1/n)
print("r= {0:.2f}%".format((r-1)*100))
r= 54.96%
用OLS求企业的净利润年平均增长率。
先看数据 000661.txt 净利润 单位:百万元
year,jlr
2006,5.267
2007,6.5
2008,20.1
2009,73.15
2010,86.5
2011,109.5
2012,299.8
2013,283.9
2014,318.2
2015,384.5
2016,484.8
2017,662
2018,1006.5
2019,1775
2020,3047
2021,3757
ols_model_1.py
# coding=utf-8
import os, sys
import numpy as np
import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt# 用 statsmodels库做一元线性回归分析
if len(sys.argv) ==2:fcode = sys.argv[1]
else:print('usage: python ols_model_1.py fcode ')sys.exit(1)if len(fcode) !=6:print(' fcode is char(6)')sys.exit(2)file1 = "./" +fcode +'.txt'
if not os.path.exists(file1):print(file1 +' is not exists.')sys.exit(3)# 用pandas 读取csv
df = pd.read_csv(file1)
y = df['jlr'].values # 净利润# 构造变量
x = np.arange(0,len(y),1) # x值
X = sm.add_constant(x) # 回归方程添加一列 x0=1# 建回归方程
# OLS(endog,exog=None,missing='none',hasconst=None) (endog:因变量,exog=自变量)
modle = sm.OLS(y,X) # 最小二乘法
res = modle.fit() # 拟合数据
beta = res.params # 取系数
print(res.summary()) # 回归分析摘要
print('beta=',beta)# 画图
Y = res.fittedvalues # 预测值
fig, ax = plt.subplots(figsize=(10,6))
ax.plot(x, y, '-', label='jz') # 原始数据
ax.plot(x, Y, 'r--.',label='fit') # 拟合数据
ax.legend(loc='upper left') # 图例,显示label
plt.title('predict net value: ' +fcode)
plt.xlabel('x')
plt.ylabel('jz')
plt.grid()
plt.show()
运行 python ols_model_1.py 000661
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.644
Model: OLS Adj. R-squared: 0.619
Method: Least Squares F-statistic: 25.37
Date: Sat, 19 Mar 2022 Prob (F-statistic): 0.000182
Time: 10:55:13 Log-Likelihood: -126.41
No. Observations: 16 AIC: 256.8
Df Residuals: 14 BIC: 258.4
Df Model: 1
Covariance Type: nonrobust
==============================================================================coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
const -660.5318 333.371 -1.981 0.068 -1375.542 54.479
x1 190.7352 37.868 5.037 0.000 109.515 271.955
==============================================================================
Omnibus: 2.911 Durbin-Watson: 0.298
Prob(Omnibus): 0.233 Jarque-Bera (JB): 1.777
Skew: 0.815 Prob(JB): 0.411
Kurtosis: 2.902 Cond. No. 17.0
==============================================================================beta= [-660.53178676 190.73521324]
看图:110 是两线的交点值,2200 是拟合直线的终点值。
print("长春高新 求企业的净利润年平均增长率")
a = 2200 / 110
n = 11
r = math.pow(a, 1/n)
print("r= {0:.2f}%".format((r-1)*100))
结论:企业的净利润年平均增长率 31.3%
附录:回归结果详细说明
Dep.Variable: y 因变量Model:OLS 最小二乘模型Method: Least Squares 最小二乘No. Observations: 样本数据的数量Df Residuals:残差自由度(degree of freedom of residuals)Df Model:模型自由度(degree of freedom of model)Covariance Type:nonrobust 协方差阵的稳健性R-squared:R 判定系数Adj. R-squared: 修正的判定系数F-statistic: 统计检验 F 统计量Prob (F-statistic): F检验的 P值Log likelihood: 对数似然coef:自变量和常数项的系数,b1,b2,...bm,b0std err:系数估计的标准误差t:统计检验 t 统计量P>|t|:t 检验的 P值[0.025, 0.975]:估计参数的 95%置信区间的下限和上限Omnibus:基于峰度和偏度进行数据正态性的检验Prob(Omnibus):基于峰度和偏度进行数据正态性的检验概率Durbin-Watson:检验残差中是否存在自相关Skewness:偏度,反映数据分布的非对称程度Kurtosis:峰度,反映数据分布陡峭或平滑程度Jarque-Bera(JB):基于峰度和偏度对数据正态性的检验Prob(JB):Jarque-Bera(JB)检验的 P值。Cond. No.:检验变量之间是否存在精确相关关系或高度相关关系。
python:用OLS 求企业的净利润年平均增长率相关推荐
- 杭州python就业情况_杭州Python就业前景如何 企业常问的Python面试题有哪些
人工智能时代的来临带动了Python的火爆,企业对Python人才需求迫切,选择学习Python的Python的人与日俱增.有人好奇杭州Python就业前景如何,有人想知道企业常问的Python面试题 ...
- python求最值_用Python实现最速下降法求极值的方法
对于一个多元函数 ,用最速下降法(又称梯度下降法)求其极小值的迭代格式为 其中 为负梯度方向,即最速下降方向,αkαk为搜索步长. 一般情况下,最优步长αkαk的确定要用到线性搜索技术,比如精确线性搜 ...
- python求向量函数的雅可比矩阵_在python Numpy中求向量和矩阵的范数实例
np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=np.linalg.norm(x, ord=None, ...
- 用Python实现最速下降法求极值
原文:https://blog.csdn.net/u012705410/article/details/47254437 用Python实现最速下降法求极值 对于一个多元函数f(x)=f(x1,x2, ...
- python在工作上可以干什么-学习Python以后能在企业里工作中能做什么?
原标题:学习Python以后能在企业里工作中能做什么? 学习Python以后能在企业里工作中能做什么? 大数据Python作为一门独特的语言在企业的应用十分重要.有人认为Python是一门新增的语 ...
- python二维元素向量_详解python Numpy中求向量和矩阵的范数
在python Numpy中求向量和矩阵的范数实例 np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=n ...
- Python程序:求最小公倍数
Python程序:求最小公倍数 --摘自远山启<数学与生活>第二版 1.大数倍数法 2.利用最大公约数 两个整数的乘积除以它们的最大公约数,就是它们的最小公倍数. Python的math模 ...
- python3简明教程-实验楼_#python实验楼教程#学Python哪里有一问一答的Python学习?求具体的~...
学Python哪里有一问一答的Python学习?求具体的- 实的会员课程 慕课网 实验楼是IT在线学习网站,为用户提供的不频,而是配置好的虚拟机,通过虚拟的实验环境,学习者可边看文档边动手操作,从而提 ...
- Python实现遗传算法求函数最值
Python实现遗传算法求函数最值 详细源代码:GA.py 1.算法过程图解 2.详细过程举例说明 (1)待求解方程 (2)确定编码方案 主要是确定编码长度: def segment_length(s ...
最新文章
- 如何爬取知乎中问题的回答以及评论的数据?
- 为什么线程被唤醒后锁会被抢?
- 大数据技术与应用实训心得_GXCGQ16D传感器与检测技术应用实训考核设备
- LeetCode 1105. 填充书架(DP)
- HOW2J 全套教程整理:Java、前端、数据库、中间件、第三方、项目、面试题
- 智能音箱扎堆的技术红海,Rokid 如何杀出一条血路?
- python自编中值滤波器
- 三.卡尔曼滤波器(EKF)开发实践之三: 基于三个传感器的海拔高度数据融合
- php人人商城定时任务,人人商城异步操作菜单示例
- 技术分享 | 排序(filesort)详细解析(8000 字长文)
- Tecnomatiix PDPS数模数据格式转换方法
- 扫盲贴 家用无线路由的安全设置
- 2021-07-31-DJ-009 Django模板页面的继承与定制,一个Base.html,仿制漂亮的效果
- 基督教的旧约圣经和新约圣经
- 博奥智源公司,数字化实验室信息管理系统功能开发思路分享
- html5-图片热区
- 编程语言的起源和发展
- inno setup 更改安装路径学习
- 断点续传的Java桌面程序
- Tecnomatix Plant Simulation热力图生成工具V1.0.1
热门文章
- linux解压war包后删除war包,解压好的文件夹跟着消失
- HighTec编译器获取不到license常见原因
- ubuntu22.04安装惠普激光打印机m30w记录
- cpu、虚拟机、网络设备省电方法
- android点击按钮打开一个网页,Android实现H5点击打开app或跳转指定界面
- STM32模拟IIC驱动OLED屏 原理+源码
- 选择恐惧症Java?Python?
- 计算机毕业设计Python+djang的图书馆图书借阅归还管理系统(源码+系统+mysql数据库+Lw文档)
- 贪心算法解决tsp问题
- 在HBase数据库创建表