标签: regression

非参数分位数回归曲线到散点图

我创建了一个散点图(多组GRP)用IV=time,DV=concentration.我想在(0.025,0.05,0.5,0.95,0.975)我的情节中添加分位数回归曲线.

顺便说一句,这就是我创建散点图的方法:

attach(E)  ## E is the name I gave to my data
## Change Group to factor so that may work with levels in the legend
Group<-as.character(Group)
Group<-as.factor(Group)

## Make the colored scatter-plot
mycolors = c('red','orange','green','cornflowerblue')
plot(Time,Concentration,main="Template",xlab="Time",ylab="Concentration",pch=18,col=mycolors[Group])

## This also works identically
## with(E,plot(Time,Concentration,col=mycolors[Group],main="Template",xlab="Time",ylab="Concentration",pch=18))

## Use identify to identify each point by group number (to check)
## identify(Time,Concentration,col=mycolors[Group],labels=Group)
## Press Esc or press Stop to stop identify function

## Create legend
## Use …
Run Code Online (Sandbox Code Playgroud)

regression r scatter-plot quantile

14
推荐指数
2
解决办法
3182
查看次数

python统计模型 - 回归中的二次项

我有以下线性回归:

import statsmodels.formula.api as sm

model = sm.ols(formula = 'a ~ b + c', data = data).fit()
Run Code Online (Sandbox Code Playgroud)

我想在这个模型中为b添加二次项.

使用statsmodels.ols有一个简单的方法吗?我应该使用更好的包来实现这个目标吗?

python regression quadratic statsmodels

14
推荐指数
2
解决办法
1万
查看次数

只运行相应源代码已更改的单元测试?

我在Jenkins CI服务器上运行单元测试和Selenium测试.众所周知,测试需要很长时间才能在大型项目中运行.

是否有一个Java工具/框架只能触发各自源代码已更改的测试?这是因为并非每次提交SCM都会影响源代码的所有区域......

我使用Cobertura进行代码覆盖,使用Surefire进行报告.

编辑:我找到了Atlassian Clover,但我正在寻找一个免费的解决方案.

java junit regression jenkins

13
推荐指数
2
解决办法
2318
查看次数

仅从逻辑模型中提取p值重要的系数

我已经运行了逻辑回归,我给它起了总结."得分"因此,summary(score)给我以下

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.3616  -0.9806  -0.7876   1.2563   1.9246  

                       Estimate Std. Error    z value    Pr(>|z|)
(Intercept)        -4.188286233 1.94605597 -2.1521921 0.031382230 *
Overall            -0.013407201 0.06158168 -0.2177141 0.827651866
RTN                -0.052959314 0.05015013 -1.0560154 0.290961160
Recorded            0.162863294 0.07290053  2.2340482 0.025479900 *
PV                 -0.086743611 0.02950620 -2.9398438 0.003283778 **
Expire             -0.035046322 0.04577103 -0.7656878 0.443862068
Trial               0.007220173 0.03294419  0.2191637 0.826522498
Fitness             0.056135418 0.03114687  1.8022810 0.071501212 .

---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 …
Run Code Online (Sandbox Code Playgroud)

regression r extract

13
推荐指数
1
解决办法
1万
查看次数

趋势线(回归,曲线拟合)java库

我正在尝试开发一个应用程序来计算与excel相同的趋势线,但对于更大的数据集.

在此输入图像描述

但是我找不到任何计算这种回归的java库.对于linera模型,我使用的是Apache Commons数学,另一方面,Michael Thomas Flanagan有一个很棒的数值库,但自1月以来它已不再可用:

http://www.ee.ucl.ac.uk/~mflanaga/java/

您是否知道任何其他库,代码存储库来计算java中的这些回归.最好,

java math statistics regression

13
推荐指数
1
解决办法
2万
查看次数

Stata和R中Logit回归的不同鲁棒标准误差

我试图复制从Stata到R的logit回归.在Stata中我使用选项"robust"来获得强大的标准误差(异方差性一致的标准误差).我能够从Stata中复制完全相同的系数,但是我无法使用"三明治"包具有相同的强大标准误差.

我尝试了一些OLS线性回归的例子; 看起来R和Stata的三明治估算器给了我同样强大的OLS标准误差.有没有人知道Stata如何计算非线性回归的三明治估计量,在我的例子中是logit回归?

谢谢!

附加代码:在R中:

library(sandwich)
library(lmtest)    
mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")    
mydata$rank<-factor(mydata$rank)    
myfit<-glm(admit~gre+gpa+rank,data=mydata,family=binomial(link="logit"))    
summary(myfit)    
coeftest(myfit, vcov = sandwich)    
coeftest(myfit, vcov = vcovHC(myfit, "HC0"))    
coeftest(myfit, vcov = vcovHC(myfit))    
coeftest(myfit, vcov = vcovHC(myfit, "HC3"))    
coeftest(myfit, vcov = vcovHC(myfit, "HC1"))    
coeftest(myfit, vcov = vcovHC(myfit, "HC2"))    
coeftest(myfit, vcov = vcovHC(myfit, "HC"))    
coeftest(myfit, vcov = vcovHC(myfit, "const"))    
coeftest(myfit, vcov = vcovHC(myfit, "HC4"))    
coeftest(myfit, vcov = vcovHC(myfit, "HC4m"))    
coeftest(myfit, vcov = vcovHC(myfit, "HC5"))    
Run Code Online (Sandbox Code Playgroud)

塔塔:

use http://www.ats.ucla.edu/stat/stata/dae/binary.dta, clear    
logit admit gre gpa i.rank, robust    
Run Code Online (Sandbox Code Playgroud)

regression r standard-error stata logistic-regression

13
推荐指数
1
解决办法
3646
查看次数

sklearn LogisticRegression并更改分类的默认阈值

我正在使用sklearn包中的LogisticRegression,并且有一个关于分类的快速问题.我为我的分类器建立了一条ROC曲线,结果证明我的训练数据的最佳阈值大约为0.25.我假设创建预测时的默认阈值是0.5.如何进行10倍交叉验证时,如何更改此默认设置以了解模型的准确度?基本上,我希望我的模型能够为大于0.25但不是0.5的任何人预测"1".我一直在查看所有文档,我似乎无法到达任何地方.

在此先感谢您的帮助.

python regression classification scikit-learn

13
推荐指数
2
解决办法
1万
查看次数

为什么内置的lm功能在R中如此之慢?

我一直认为lmR 中的函数非常快,但正如本例所示,使用solve函数计算的闭合解更快.

data<-data.frame(y=rnorm(1000),x1=rnorm(1000),x2=rnorm(1000))
X = cbind(1,data$x1,data$x2)

library(microbenchmark)
microbenchmark(
solve(t(X) %*% X, t(X) %*% data$y),
lm(y ~ .,data=data))
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下,如果这个玩具示例是一个坏的例子,或者情况lm实际上是慢的吗?

编辑:正如Dirk Eddelbuettel所建议的,由于lm需要解决公式,比较是不公平的,所以更好地使用lm.fit,不需要解决公式

microbenchmark(
solve(t(X) %*% X, t(X) %*% data$y),
lm.fit(X,data$y))


Unit: microseconds
                           expr     min      lq     mean   median       uq     max neval cld
solve(t(X) %*% X, t(X) %*% data$y)  99.083 108.754 125.1398 118.0305 131.2545 236.060   100  a 
                      lm.fit(X, y) 125.136 136.978 151.4656 143.4915 156.7155 262.114   100   b
Run Code Online (Sandbox Code Playgroud)

regression r linear-regression lm

13
推荐指数
2
解决办法
2090
查看次数

cross_val_score和cross_val_predict之间的区别

我想计算回归模型建立与使用交叉验证和感到困惑,这两个功能scikitlearn cross_val_scorecross_val_predict我应该使用.一种选择是:

cvs = DecisionTreeRegressor(max_depth = depth)
scores = cross_val_score(cvs, predictors, target, cv=cvfolds, scoring='r2')
print("R2-Score: %0.2f (+/- %0.2f)" % (scores.mean(), scores.std() * 2))
Run Code Online (Sandbox Code Playgroud)

另一个,使用标准的cv预测r2_score:

cvp = DecisionTreeRegressor(max_depth = depth)
predictions = cross_val_predict(cvp, predictors, target, cv=cvfolds)
print ("CV R^2-Score: {}".format(r2_score(df[target], predictions_cv)))
Run Code Online (Sandbox Code Playgroud)

我认为这两种方法都是有效的,并给出类似的结果.但这只是小k倍的情况.虽然r ^ 2对于10倍-cv大致相同,但是对于使用"cross_vall_score"的第一版本的情况,对于更高的k值,它变得越来越低.第二个版本大多不受折叠次数变化的影响.

这种行为是否可以预期,我是否对SKLearn中的CV缺乏了解?

python regression machine-learning scikit-learn cross-validation

13
推荐指数
3
解决办法
2万
查看次数

scikit-learn中的多输出高斯过程回归

我正在使用scikit学习高斯过程回归(GPR)操作来预测数据.我的培训数据如下:

x_train = np.array([[0,0],[2,2],[3,3]]) #2-D cartesian coordinate points

y_train = np.array([[200,250, 155],[321,345,210],[417,445,851]]) #observed output from three different datasources at respective input data points (x_train)
Run Code Online (Sandbox Code Playgroud)

需要预测平均值和方差/标准偏差的测试点(2-D)是:

xvalues = np.array([0,1,2,3])
yvalues = np.array([0,1,2,3])

x,y = np.meshgrid(xvalues,yvalues) #Total 16 locations (2-D)
positions = np.vstack([x.ravel(), y.ravel()]) 
x_test = (np.array(positions)).T
Run Code Online (Sandbox Code Playgroud)

现在,在运行GPR(GausianProcessRegressor)拟合之后(这里,ConstantKernel和RBF的乘积用作内核GaussianProcessRegressor),可以通过遵循代码行来预测均值和方差/标准差:

y_pred_test, sigma = gp.predict(x_test, return_std =True)
Run Code Online (Sandbox Code Playgroud)

在打印预测的mean(y_pred_test)和variance(sigma)时,我在控制台中打印了以下输出:

在此输入图像描述

在预测值(平均值)中,打印内部数组内有三个对象的"嵌套数组".可以假设内部阵列是每个2-D测试点位置处的每个数据源的预测平均值.但是,打印的方差只包含一个包含16个对象的数组(可能包含16个测试位置点).我知道方差提供了估计不确定性的指示.因此,我期待每个测试点的每个数据源的预测方差.我的期望是错的吗?如何在每个测试点获得每个数据源的预测方差?这是由于错误的代码?

谢谢!

python regression machine-learning scikit-learn

13
推荐指数
1
解决办法
2945
查看次数