求用Python进行负二项回归分析的做法!

我写了部分代码如下:
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import statsmodels.api as sm
from statsmodels.stats.outliers_influence import variance_inflation_factor
import warnings
warnings.simplefilter("ignore")
sns.set_style('whitegrid')
a=sm.NegativeBinomial.from_formula('newCasesBySpecimenData~Temperature(掳F)+
Dew Point(掳F)+ WindSpeed(mph)+ Pressure(inHg)+ Precipitation (in)',data=info).fit(method='ncg',maxiter=1000)
print(a.summary2())

但是一直报错:
Precipitation(in)
^
SyntaxError: invalid syntax
NameError: name 'a' is not defined

就不知道哪里错了……

a没定义,可以先初始化一下这个变量

a=""
a=sm.NegativeBinomial.from_formula('newCasesBySpecimenData~Temperature(掳F)+
Dew Point(掳F)+ WindSpeed(mph)+ Pressure(inHg)+ Precipitation (in)',data=info).fit(method='ncg',maxiter=1000)
print(a.summary2())

newCasesBySpecimenData~Temperature(掳F)+
Dew Point(掳F)+ WindSpeed(mph)+ Pressure(inHg)+ Precipitation (in)
这句话有问题,修改一下

首先看一下,你这段定义没成功,还有乱码


a=sm.NegativeBinomial.from_formula('newCasesBySpecimenData~Temperature(掳F)+
Dew Point(掳F)+ WindSpeed(mph)+ Pressure(inHg)+ Precipitation (in)',data=info).fit(method='ncg',maxiter=1000)

你看一下,我的,这样可以执行的,改成你的


model_1_nb = sm.NegativeBinomial.from_formula('Crash_Freq ~ Grade_G + Logvmt + Visibility + Temperature + \
                                      Precipitation + Speed ',data=df_1).fit(method='ncg',maxiter=1000)
print(model_1_nb.summary2())