小编Han*_*ura的帖子

如何在 Python 中计算学生化残差?

我试过寻找这个问题的答案,但到目前为止我还没有找到任何答案。我使用 statsmodel 在均值插补数据集上实现了普通最小二乘回归模型。我可以访问 OLS 结果中的残差列表,但不能访问学生化残差。如何计算/获得学生化残差?我知道计算学生残差的公式,但我不确定如何在 Python 中编写这个公式。

提前致谢。

更新:我找到了答案。我可以从 OLS reults 的 outlier_test() 函数中获得一个包含学生化残差的数据框。

python statistics

9
推荐指数
2
解决办法
5489
查看次数

具有 Statsmodel ValueError 的多个 OLS 回归:零大小数组到没有标识的缩减操作最大值

我在对包含大约 7500 个数据点的数据集执行多重回归时遇到问题,其中某些列和行中缺少数据 (NaN)。每行至少有一个 NaN 值。某些行仅包含 NaN 值。

我正在使用 OLS Statsmodel 进行回归分析。我尽量不使用 Scikit Learn 来执行 OLS 回归,因为(我可能错了,但是)我必须在我的数据集中估算缺失的数据,这会在一定程度上扭曲数据集。

我的数据集如下所示: KPI

这就是我所做的(目标变量是 KP6,预测变量是剩余变量):

est2 = ols(formula = KPI.KPI6.name + ' ~ ' + ' + '.join(KPI.drop('KPI6', axis = 1).columns.tolist()), data = KPI).fit()
Run Code Online (Sandbox Code Playgroud)

它返回一个 ValueError: zero-size array to reduce operation maximum,它没有身份。

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-207-b24ba316a452> in <module>()
      3 #test = KPI.dropna(how='all')
      4 #test = KPI.fillna(0)
----> 5 est2 = ols(formula = KPI.KPI6.name + ' ~ ' + ' + …
Run Code Online (Sandbox Code Playgroud)

python regression statsmodels valueerror

6
推荐指数
1
解决办法
2972
查看次数

在Jupyter Notebook的同一单元格中删除涉及交互式小部件的过去Matplotlib图

这只是一个困扰我一段时间的小问题。

我有一个由所有连续变量组成的熊猫数据框。我想为任意选择的变量对绘制散点图(使用matplotlib),同时还要利用Jupyter中的交互式小部件。

假设数据具有3个数字列:“ a”,“ b”和“ c”。

到目前为止,我有以下几行代码:

def g(x,y):
    plt.scatter(x, y)
interactive_plot = interactive(g, x=['a','b','c'], y=['a','b','c'])
interactive_plot
Run Code Online (Sandbox Code Playgroud)

而且它们运行良好,因为每当我使用x和y的下拉框切换并从3个可用变量中选择一对变量时,它们便会绘制散点图。但是,这里的问题在于,在显示新图之前,不会擦除之前搅动过的图。换句话说,matplotlib不会更新现有图中的绘图,而只是将绘图/图形相互叠加。因此,如果我将变量对的选择更改10次,我会得到10个散点图,这不是我想要的。

有人可以帮我吗?

提前致谢。

python widget matplotlib data-analysis jupyter

5
推荐指数
1
解决办法
3911
查看次数

Jupyter Notebook小部件:创建依赖项下拉列表

我想在Jupyter Notebook中创建2个下拉窗口小部件。下拉内容取自数据框。

假设我有一个由3个类别变量“ a”,“ b”,“ c”组成的熊猫数据框。'a'具有3个子类型'a1','a2'和'a3'。'b'和'c'在也具有自己的子类型的意义上类似于a。我想创建2个下拉窗口小部件:第一个下拉窗口小部件将具有['a','b','c'],第二个下拉窗口小部件将显示子类型,具体取决于用户为第一个窗口小部件选择的变量。

老实说,我不知道该怎么做。我将尝试为此编写一些代码:

import pandas as pd
from IPython.display import *
import ipywidgets as widgets
from ipywidgets import *

# Create the dataframe
df = pd.DataFrame([['a1','a2','a3'],
             ['b1','b2','b3'],
             ['c1','c2','c3']], index = ['a','b','c']).transpose()

# Widgets
widget1 = Dropdown(options = ['a','b','c'])
display(widget1)
widget2 = Dropdown(???????)
display(widget2)
Run Code Online (Sandbox Code Playgroud)

根据我为两个下拉小部件选择的内容,我希望执行一些功能。

任何帮助表示赞赏。

python widget pandas jupyter

3
推荐指数
1
解决办法
1901
查看次数