python环境下运行Probit模型

经济学论文

一、下载python:地址,https://www.python.org/
二、下载pycharm: 地址 ,https://www.jetbrains.com/pycharm/download/

三、设置环境变量:电脑(右键属性)->高级系统设置->环境变量->path
在这里插入图片描述

下载python和pycharm参考百度,设置环境变量(很重要,环境变量是下载python的地址,每个人都不一样)

四、安装依赖包:file->settings->Python Interpreter

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

需要安装pandas,numpy,matplotlib,statsmodels,如果还需要安装其他包,根据pycharm的提示安装就行了

运行代码:
需要修改file_path:地址为数据在电脑中的地址
修改变量:修改变量data.columns[n] n代表改列数据,家庭总收入的n=0,为什么不是1?因为在python中下标是从0开始的
在这里插入图片描述

import pandas as pd
import statsmodels.api as sm

# 加载数据
file_path = 'C:\\Users\\戴森球\\Desktop\\master.xlsx'
data = pd.read_excel(file_path)

# 提取相关列并重新命名
data = data.rename(columns={
    data.columns[3]: '家庭总负债',             # 第4列:家庭总负债
    data.columns[41]: '持有股票数量',           # 第42列:持有股票的数量
    data.columns[66]: '股票账户现金余额',       # 第67列:股票账户现金余额
    data.columns[107]: '股票的风险和收益'      # 第108列:股票的风险和收益
})

# 查看修改后的数据,确保列名已更改
print(data[['家庭总负债', '持有股票数量', '股票账户现金余额', '股票的风险和收益']].head())

# 创建一个二元变量,表示是否投资股票
# 假设持有股票数量大于 0 的家庭为投资者
data['invest_in_stock'] = data['持有股票数量'].apply(lambda x: 1 if x > 0 else 0)

# 创建自变量 DataFrame
X = data[['家庭总负债', '股票账户现金余额', '股票的风险和收益']]

# 处理缺失值和无穷大值
if X.isnull().values.any():
    print("Data contains NaN values. Filling NaN values with the column mean...")
    X = X.fillna(X.mean())  # 用均值填充缺失值

if (X == float('inf')).values.any() or (X == float('-inf')).values.any():
    print("Data contains infinite values. Replacing inf with a large value...")
    X = X.replace([float('inf'), float('-inf')], 1e10)  # 将无穷大值替换为一个很大的数

# 为自变量添加常数项(截距)
X = sm.add_constant(X)

# 因变量:是否投资股票(1=投资,0=不投资)
y = data['invest_in_stock']

# 拟合 Probit 模型
model = sm.Probit(y, X)
result = model.fit()

# 打印模型摘要
print(result.summary())

安转包完成以后,运行即可,等待运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值