数学笔记-线性代数

数学笔记-线性代数1

矩阵运算

A.dot(B)  # 矩阵A点乘矩阵B
B = np.linalg.inv(A)  # 矩阵A求逆

线性回归模型求解

statsmodels统计分析包

statsmodels,OLS(endog, exog),其中endog是因变量Y,exog是自变量X

1、生成模型

import numpy as np
import matplotlib.pyplot as plt
import statsmodels.api as sm

nsample = 200

x = np.linspace(0,10,nsample)  # 生成自变量数组,其值在1-10等差排列
X = sm.add_constant(x)  # sm.add_constant是在向量左侧加上一列1

beta = np.array([1,10])  # 设置beta0,beta1,其值为0,1

mu = np.random.normal(size=nsample)  # 生成误差项mu,其值取自标准正态分布
y = np.dot(X,beta) + mu

2、模型求解

model = sm.OLS(y,x)
result = model.fit()  # 模型求解
print(result.params)  # 获取模型参数估计值
print(result.summary)  # 模拟结果

3、将拟合结果画出来

y_fitted = results.fittedvalues  # 调用fittedvalues得到拟合的y

plt.figure(figsize = (12,4))
plt.axis(0, 2, 0, 25)  # 设置坐标轴区间
plt.grid(True)
plt.plot(x, y, 'n', label='data')  # 绘制原始数据
plt.plot(x, y_fitted, 'r--.', label='OLS')  # 绘制拟合数据
plt.legend(loc='best')  # 添加图注释

4、离散变量的处理

转化为哑变量

dummy = sm.categorical(x2, drop=True)  # 将离散变量变为哑变量

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值