线性回归模型参数的T检验

ops/2024/11/30 9:28:45/

目录

  • T检验
  • 实战

T检验

回归模型中,T检验通常用于检验回归>线性回归系数的显著性。具体来说,T检验可以用来判断一个自变量对因变量的影响是否显著。

在进行回归>线性回归时,我们通常会得到每个自变量的系数估计值(通常用 β 来表示)。T检验可以帮助我们确定这些系数估计值是否显著地不同于零。T检验的假设如下:

零假设(H0):系数等于零,即自变量对因变量没有显著影响。
备择假设(H1):系数不等于零,即自变量对因变量有显著影响。
T统计量的计算公式为:

t = b − 0 S E ( b ) t = \frac{b - 0}{SE(b)} t=SE(b)b0

其中,b 是系数估计值,SE(b) 是该系数的标准误。T统计量的绝对值越大,意味着系数估计值与零的差异越显著。

在进行T检验时,我们通常会计算出T统计量,并与t分布的临界值进行比较,以判断系数估计值的显著性。如果T统计量的绝对值大于临界值,我们可以拒绝零假设,认为系数估计值是显著不同于零的。

在Python中,可以使用statmodels或者scipy库来进行回归模型的T检验。在statmodels中,可以使用summary方法来获得回归结果的摘要,其中包括了每个系数的T统计量、p值等信息。在scipy中,可以使用ttest_ind来进行T检验。

实战

# 导入模块
from sklearn import model_selection
import statsmodels.api as sm
import numpy as np 
import pandas as pd 
from scipy.stats import f # 导入数据
Profit = pd.read_excel(r'Predict to Profit.xlsx')# 生成由State变量衍生的哑变量
dummies = pd.get_dummies(Profit.State)
# 将哑变量与原始数据集水平合并
Profit_New = pd.concat([Profit,dummies], axis = 1)
# 删除State变量和California变量(因为State变量已被分解为哑变量,New York变量需要作为参照组)
Profit_New.drop(labels = ['State','New York'], axis = 1, inplace = True)
# 拆分数据集Profit_New
train, test = model_selection.train_test_split(Profit_New, test_size = 0.2, random_state=1234)
# 建模
model2 = sm.formula.ols('Profit~RD_Spend+Administration+Marketing_Spend+Florida+California', data = train).fit()
print(model2.summary())

结果如下图:
在这里插入图片描述
从上图返回的结果可知,只有截距项Intercepter 和研发成本RD_Spend对应的p值小于0.05,说明其他变量都没有通过系数的显著性检验,即在模型中这些变量不是影响利润的重要因素。


http://www.ppmy.cn/ops/137891.html

相关文章

Python设计模式详解之14 —— 命令模式

命令模式 (Command Pattern) 是一种行为型设计模式,它将请求封装为对象,从而使您可以用不同的请求、队列或日志来参数化其他对象。命令模式还支持撤销操作。 在 Python 中,命令模式通常用来解耦命令的发送者(调用者)和…

鼠标前进后退键改双击,键盘映射(AutoHotkey)

初衷: 1.大部分鼠标为不可自定义按键,可以自定义的又很贵。 鼠标左键是双击是很频类很高的操作,鼠标前进/后退按键个人感觉使用频率很低,因此把鼠标前进/后退改为双击还是很合适的。 2.有些短款的键盘没有Home或End键,…

Vue 3 组件通信教程

Vue 3 组件通信教程 1. Props 父传子 1.1 基础用法 在 Vue 3 中&#xff0c;我们使用 defineProps 来声明组件的 props&#xff1a; <!-- 子组件 ChildComponent.vue --> <script setup> const props defineProps({message: String,count: {type: Number,requ…

激光雷达定位与建图-拟合问题

本篇文章介绍如何在点云中提取线段和平面。 一、平面拟合 1. 问题提出 给定一组由N个点组成的点云 X { x 1 , ⋯ , x n } X \left \{x_{1}, \cdots , x_{n} \right \} X{x1​,⋯,xn​} ,其中每个点取三维欧式坐标 x k x_{k} xk​&#xff0c;寻找一组平面参数n&#xff0c;…

人工智能如何改变你的生活?

在我们所处的这个快节奏的世界里&#xff0c;科技融入日常生活已然成为司空见惯的事&#xff0c;并且切实成为了我们生活的一部分。在这场科技变革中&#xff0c;最具变革性的角色之一便是人工智能&#xff08;AI&#xff09;。从我们清晨醒来直至夜晚入睡&#xff0c;人工智能…

原型模式

功能&#xff1a;复制一个运行时的对象&#xff0c;包括对象各个成员当前的值。并且能够通过父类的指针来克隆出子类的对象 主要解决&#xff1a;在运行期建立原型 优点&#xff1a;性能提高、避免了构造函数的约束 步骤&#xff1a; 1、定义抽象原型&#xff0c;声明纯虚接…

C# 可空类型

文章目录 前言一、单问号&#xff08;?&#xff09;二、双问号&#xff08;??&#xff09; 前言 可空类型&#xff08;Nullable&#xff09;是一个极具实用性的特性&#xff0c;它为我们处理那些可能出现未赋值情况的数据提供了便捷且合理的方式。而其中&#xff0c;单问号&…

如何使用 Codegen 加速 React Native 开发?

写在前面 在 React Native 开发中&#xff0c;经常需要编写大量的样板代码&#xff0c;例如组件、屏幕、API 等。这些重复性的工作不仅浪费时间&#xff0c;还容易出错。为了解决这个问题&#xff0c;Facebook 推出了一个名为 Codegen 的工具&#xff0c;它可以根据模板和配置…