logit回归怎么看显著性_R语言 | 回归分析(三)

R语言

语言学与R语言的碰撞

Xu & Yang

PhoneticSan

0a43eec893e355e8eef5ec64f48d0754.png

学习参考

Discovering Statistics Using R

Statistics for Linguistics with R

How to Do Linguistics with R

R in Action

Analyzing Linguistic Data

R Graphics Cookbook

··· ···

Recap

  1. 进行线性回归需要满足三个前提假设:线性、残差正态性、残差的方差齐性。其中方差齐性检验可使用car包中的ncvTest( )函数或spreadLevelPlot( )函数。

  2. 两个以上的预测变量使用的方法叫做多元回归,基本公式是= b0 + b1X1 + b2X2 + ... + bnXn + ε,每一个系数表示其对应预测变量对因变量的影响。

  3. 多元回归使用的函数同样是lm( )函数,对于不同的预测变量,使用➕连接。如果考察某两个变量的交互效应,则使用:连接两个变量。建立null model和拟合回归模型后,使用anova( )分析。

47c1c136462bfb6710d451e20ae263f1.png

R: The R Project for Statistical Computing

https://www.r-project.org/

RStudio:

https://rstudio.com/

R Project

Linguistics

1

 分类预测变量

在之前的回归分析介绍中,我们探讨的预测变量都是连续型变量。比如例子中的WrittenFrequency(书写出现的频率)是一个“连续不断”的变量,它小数点后理论上有无数位。而在我们语言

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,无序Logistic回归(也称为Probit或Categorical Probit Regression)通常用于处理分类数据,特别是当类别之间是有序的,但你希望模型处理非顺序的关系。`scikit-learn`库中的`LogisticRegression`类默认就是有序Logistic回归,如果你想做无序Logit,你需要使用`mlogit`库,它是专为多分类和无序Logit设计的。 首先,确保已经安装了`mlogit`库,如果没有安装,可以通过`pip install mlogit`来安装。 下面是一个简单的无序Logit回归模型的例子,我们将使用`mlogit`库并假设你有一个CSV文件`data.csv`: ```python # 导入所需的库 import pandas as pd from mlogit import MLogit from statsmodels.stats.outliers_influence import variance_inflation_factor import statsmodels.api as sm # 1. 导入数据 df = pd.read_csv('data.csv') # 假设'outcome'列是分类变量,而'regressors'列是你感兴趣的自变量 y = df['outcome'] X = df[['regressor1', 'regressor2', 'regressor3']] # 替换为你的特征列名 # 2. 数据预处理(如有必要) # 对分类变量进行哑编码或其他预处理步骤 # 3. 创建MLogit模型 model = MLogit(y, X) # 4. 拟合模型 results = model.fit() # 5. 输出卡方检验结果(McFadden's R^2) mcfr_squared = results.prsquared print(f"McFadden's R^2: {mcfr_squared}") # 6. 拟合优度检验 # 这里通常用R-squared类似的方式衡量,但mlogit库没有直接提供,你可以自己计算似然比统计量 # 例如,你可以计算观测值和拟合值的差异 # 7. 参数的显著性检验 # 使用statsmodels的summary方法来查看p-values summary = results.summary() p_values = summary.loc['coef', 'Pr(>|z|)'].values significant_params = [param for param, p in zip(summary.index, p_values) if p < 0.05] print(f"Significant parameters: {significant_params}") # 8. 可能还需要检查VIF(Variance Inflation Factor)以评估多重共线性 X = sm.add_constant(X) vif = pd.Series([variance_inflation_factor(X.values, i) for i in range(X.shape)], index=X.columns) print("VIF values for each variable:\n", vif) ``` 注意:`mcfr_squared`通常在无序Logit回归中不是最优度量,因为它假设模型能够完美拟合数据。对于无序Logit,更合适的度量可能是AIC(Akaike Information Criterion)或BIC(Bayesian Information Criterion)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值