第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用 statsmodels 進(jìn)行回歸時(shí)出現(xiàn) PatsyError

使用 statsmodels 進(jìn)行回歸時(shí)出現(xiàn) PatsyError

瀟湘沐 2023-12-29 16:42:11
我正在使用olsinstatsmodels來(lái)運(yùn)行回歸。一旦我對(duì)數(shù)據(jù)幀的每一行運(yùn)行回歸,我想從patsy這些回歸中使用的變量中檢索 X 變量。但是,我收到一個(gè)我似乎無(wú)法理解的錯(cuò)誤。編輯:我正在嘗試運(yùn)行此處答案中所示的回歸,但希望在數(shù)據(jù)幀的分組版本的每一行上運(yùn)行回歸df,其中它按Date, bal, dist, pay_hist, inc,分組bckts。因此,我首先如上所述對(duì)這些數(shù)據(jù)進(jìn)行分組,然后嘗試對(duì)按以下df分組的每一行運(yùn)行回歸Date:df.groupby(['Date']).apply(ols_coef,'bal ~ C(dist)  + C(pay_hist) + C(inc) + C(bckts)')我的代碼如下:from statsmodels.formula.api import olsdf = df.groupby([['Date','bal', 'dist', 'pay_hist', 'inc', 'bckts']])######run regressiondef ols_coef(x,formula):    return ols(formula,data=x).fit().paramsgamma = df.groupby(['Date']).apply(ols_coef,'bal ~ C(dist)  + C(pay_hist) + C(inc) + C(bckts)')print('gamme is {}'.format(gamma))#############################Now trying to retrieve the X variables in the regressions aboveformula = 'bal ~ C(dist)  + C(pay_hist) + C(inc) + C(bckts)'data = df.groupby(['Date'])[['bckts', 'wac_dist', 'pay_hist', 'inc', 'bal']]y,X = patsy.dmatrices(formula,data,return_type='dataframe')################我收到以下錯(cuò)誤,并且不確定如何解決它:patsy.PatsyError: Error evaluating factor: Exception: Column(s) ['bckts', 'dist', 'pay_hist', 'inc', 'bal'] already selected    bal ~ C(dist)  + C(pay_hist) + C(inc) + C(bckts)                     ^^^^^^^^^^^          
查看完整描述

1 回答

?
蝴蝶刀刀

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊

問題是您將分組數(shù)據(jù)幀傳遞到函數(shù)中pasty.dmatrices。由于分組數(shù)據(jù)幀是可迭代的,因此您可以在這樣的循環(huán)中執(zhí)行此操作,并將所有 X 數(shù)據(jù)幀(每組一個(gè))存儲(chǔ)到字典中:


import statsmodels.api as sm

import statsmodels.formula.api as smf

import numpy as np

import pandas as pd

import patsy


# Loading data

df = sm.datasets.get_rdataset("Guerry", "HistData").data


# Extracting Independent variables

formula = 'Suicides ~ Crime_parents + Infanticide'

data = df.groupby(['Region'])[['Suicides', 'Crime_parents', 'Infanticide', 'Region']]

X = {}

for name, group in data: 

    Y, X[name] = patsy.dmatrices(formula, group, return_type='dataframe')


print(X)


查看完整回答
反對(duì) 回復(fù) 2023-12-29
  • 1 回答
  • 0 關(guān)注
  • 293 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)