python实现逐步回归_Python怎么做逐步回归?

逐步回归是一种逐步筛选模型变量的方法,通过F检验和t检验不断引入或剔除变量,确保模型中只保留显著的解释变量。本文介绍了Python中如何进行逐步回归,包括计算第零步增广矩阵、方差贡献、方差比等关键步骤,展示了如何引入和剔除因子,并通过实例详细解释了逐步回归的计算过程。
摘要由CSDN通过智能技术生成

逐步回归基本思想是将变量逐个引入模型,每引入一个解释变量后都要进行F检验,并对已经选入的解释变量逐个进行t检验,当原来引入的解释变量由于后面解释变量的引入变得不再显著时,则将其删除。以确保每次引入新的变量之前回归方程中只包含显著性变量。这是一个反复的过程,直到既没有显著的解释变量选入回归方程,也没有不显著的解释变量从回归方程中剔除为止。以保证最后所得到的解释变量集是最优的。

本例的逐步回归则有所变化,没有对已经引入的变量进行t检验,只判断变量是否引入和变量是否剔除,“双重检验”逐步回归,简称逐步回归。

先来看一下逐步回归的计算步骤:1. 计算第零步增广矩阵。第零步增广矩阵是由预测因子和预测对象两两之间的相关系数构成的。

引进因子。在增广矩阵的基础上,计算每个因子的方差贡献,挑选出没有进入方程的因子中方差2. 贡献最大者对应的因子,计算该因子的方差比,查F分布表确定该因子是否引入方程。

3. 剔除因子。计算此时方程中已经引入的因子的方差贡献,挑选出方差贡献最小的因子,计算该因子的方差比,查F分布表确定该因子是否从方程中剔除。

4. 矩阵变换。将第零步矩阵按照引入方程的因子序号进行矩阵变换,变换后的矩阵再次进行引进因子和剔除因子的步骤,直到无因子可以引进,也无因子可以剔除为止,终止逐步回归分析计算。

a.以下代码实现了数据的读取,相关系数的计算子程序和生成第零步增广矩阵的子程序

注意:pandas库读取csv的数据结构为DataFrame结构,此处转化为numpy中的(n-dimension array,ndarray)数组进行计算

import numpy as np

import pandas as pd

#数据读取

#利用pandas读取csv,读取的数据为DataFrame对象

data = pd.read_csv('sn.csv')

# 将DataFrame对象转化为数组,数组的最后一列为预报对象

data= data.values.copy()

# print(data)

# 计算回归系数,参数

def get_regre_coef(X,Y):

S_xy=0

S_xx=0

S_yy=0

# 计算预报因子和预报对象的均值

X_mean = np.mean(X)

Y_mean 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值