标签: regression

在scikit-learn LinearRegression中找到p值(显着性)

如何找到每个系数的p值(显着性)?

lm = sklearn.linear_model.LinearRegression()
lm.fit(x,y)
Run Code Online (Sandbox Code Playgroud)

python statistics regression numpy scikit-learn

130
推荐指数
9
解决办法
14万
查看次数

使用Pandas Data Frame运行OLS回归

我有一个pandas数据框,我希望能够从B列和C列中的值预测A列的值.这是一个玩具示例:

import pandas as pd
df = pd.DataFrame({"A": [10,20,30,40,50], 
                   "B": [20, 30, 10, 40, 50], 
                   "C": [32, 234, 23, 23, 42523]})
Run Code Online (Sandbox Code Playgroud)

理想情况下,我会有类似的东西ols(A ~ B + C, data = df),但当我从算法库中查看示例时,scikit-learn它似乎将数据提供给模型,其中包含行而不是列.这将要求我将数据重新格式化为列表中的列表,这似乎首先打败了使用pandas的目的.在pandas数据框中对数据运行OLS回归(或更普遍的机器学习算法)的最pythonic方法是什么?

python regression pandas scikit-learn statsmodels

107
推荐指数
5
解决办法
17万
查看次数

在ggplot上添加回归线

我正努力在ggplot上添加回归线.我首先尝试使用abline,但我没有设法让它工作.然后我尝试了这个......

data = data.frame(x.plot=rep(seq(1,5),10),y.plot=rnorm(50))
ggplot(data,aes(x.plot,y.plot))+stat_summary(fun.data=mean_cl_normal) +
   geom_smooth(method='lm',formula=data$y.plot~data$x.plot)
Run Code Online (Sandbox Code Playgroud)

但它也没有用.

regression r linear-regression ggplot2

101
推荐指数
4
解决办法
24万
查看次数

如何强制R在回归中使用指定的因子级别作为参考?

如果我在回归中使用二进制解释变量,如何告诉R使用某个级别作为参考?

它只是默认使用某个级别.

lm(x ~ y + as.factor(b)) 
Run Code Online (Sandbox Code Playgroud)

b {0, 1, 2, 3, 4}.假设我想使用3而不是R使用的零.

regression r linear-regression categorical-data dummy-variable

100
推荐指数
5
解决办法
16万
查看次数

线性回归和R中的分组

我想使用lm()函数在R中进行线性回归.我的数据是一年一度的时间序列,一年(22年),另一个州(50个州).我想为每个状态拟合一个回归,以便最后我有一个lm响应的向量.我可以想象为每个状态做循环然后在循环内进行回归并将每个回归的结果添加到向量.但是,这似乎不像R一样.在SAS中我会做一个'by'语句,在SQL中我会做'group by'.R的做法是什么?

regression r linear-regression lm

88
推荐指数
9
解决办法
6万
查看次数

提取回归系数值

我有一个回归模型的一些时间序列数据调查药物利用率.目的是将样条拟合到时间序列并计算95%CI等.模型如下:

id <- ts(1:length(drug$Date))
a1 <- ts(drug$Rate)
a2 <- lag(a1-1)
tg <- ts.union(a1,id,a2)
mg <-lm (a1~a2+bs(id,df=df1),data=tg) 
Run Code Online (Sandbox Code Playgroud)

摘要输出mg是:

Call:
lm(formula = a1 ~ a2 + bs(id, df = df1), data = tg)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.31617 -0.11711 -0.02897  0.12330  0.40442 

Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)        0.77443    0.09011   8.594 1.10e-11 ***
a2                 0.13270    0.13593   0.976  0.33329    
bs(id, df = df1)1 -0.16349    0.23431  -0.698  0.48832    
bs(id, df = df1)2  0.63013    0.19362   3.254  0.00196 ** 
bs(id, …
Run Code Online (Sandbox Code Playgroud)

regression r lm

66
推荐指数
3
解决办法
16万
查看次数

在回归模型中筛选(多)共线性

我希望这个问题不会成为"问答"问题......这里说:(多)共线性是指回归模型中预测变量之间的极高相关性.如何治愈它们......好吧,有时你不需要"治愈"共线性,因为它不会影响回归模型本身,而是解释个体预测因子的影响.

发现共线性的一种方法是将每个预测变量作为因变量,将其他预测变量作为自变量,确定R 2,如果它大于.9(或.95),我们可以考虑预测变量冗余.这是一种"方法"......其他方法呢?其中一些是耗时的,比如从模型中排除预测变量并观察b系数变化 - 它们应该明显不同.

当然,我们必须始终牢记分析的具体背景/目标......有时候,唯一的补救措施就是重复研究,但是现在,我对以多种共线性(多)共线性筛选冗余预测因子的各种方式感兴趣发生在回归模型中.

statistics regression r

63
推荐指数
5
解决办法
4万
查看次数

Java-R集成?

我有一个Java应用程序需要执行偏最小二乘回归.看来PLSR没有Java实现.Weka可能在某些时候有类似的东西,但它不再在API中.另一方面,我发现了一个很好的R实现,它有一个额外的好处.它被我想要复制的人使用,这意味着由于PLSR实现方式的不同,事情出错的可能性较小.

问题是:是否有足够好(且易于使用)的包使Java能够调用R,将一些参数传递给函数并读回结果?我的另一个选择是让Java在一个进程中生成R然后监视它.数据将被读取并写入磁盘.你会推荐哪两个?我错过了明显的第三种选择吗?

java regression r machine-learning

54
推荐指数
4
解决办法
5万
查看次数

Excel中的二次和三次回归

我有以下信息:

  Height    Weight

    170     65
    167     55
    189     85
    175     70
    166     55
    174     55
    169     69
    170     58
    184     84
    161     56
    170     75
    182     68
    167     51
    187     85
    178     62
    173     60
    172     68
    178     55
    175     65
    176     70
Run Code Online (Sandbox Code Playgroud)

我想在Excel中构建二次和三次回归分析.我知道如何通过Excel中的线性回归来做到这一点,但是二次和立方呢?我搜索了很多资源,但找不到任何有用的东西.

excel regression

50
推荐指数
3
解决办法
18万
查看次数

用numpy拟合数据

首先让我告诉我得到的可能不是我所期望的,也许你可以在这里帮助我.我有以下数据:

>>> x
array([ 3.08,  3.1 ,  3.12,  3.14,  3.16,  3.18,  3.2 ,  3.22,  3.24,
    3.26,  3.28,  3.3 ,  3.32,  3.34,  3.36,  3.38,  3.4 ,  3.42,
    3.44,  3.46,  3.48,  3.5 ,  3.52,  3.54,  3.56,  3.58,  3.6 ,
    3.62,  3.64,  3.66,  3.68])

>>> y
array([ 0.000857,  0.001182,  0.001619,  0.002113,  0.002702,  0.003351,
    0.004062,  0.004754,  0.00546 ,  0.006183,  0.006816,  0.007362,
    0.007844,  0.008207,  0.008474,  0.008541,  0.008539,  0.008445,
    0.008251,  0.007974,  0.007608,  0.007193,  0.006752,  0.006269,
    0.005799,  0.005302,  0.004822,  0.004339,  0.00391 ,  0.003481,
    0.003095])
Run Code Online (Sandbox Code Playgroud)

现在,我想用4度多项式拟合这些数据.所以我这样做:

>>> coefs …
Run Code Online (Sandbox Code Playgroud)

python regression numpy curve-fitting data-fitting

42
推荐指数
2
解决办法
10万
查看次数