难道有人可以向统计学家解释Multiple R-squared和Adjusted R-squared之间的区别是什么? 我正在做一个单variables回归分析如下: v.lm <- lm(epm ~ n_days, data=v) print(summary(v.lm)) 结果: Call: lm(formula = epm ~ n_days, data = v) Residuals: Min 1Q Median 3Q Max -693.59 -325.79 53.34 302.46 964.95 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 2550.39 92.15 27.677 <2e-16 *** n_days -13.12 5.39 -2.433 0.0216 * — Signif. codes: 0 […]
我努力在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) 但是它也不起作用。
我有以下信息: 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 我想在Excel中构build二次和三次回归分析。 我知道如何通过Excel中的线性回归来做到这一点,但二次和立方呢? 我搜查了很多资源,但找不到任何有用的东西。
我有一个Java应用程序需要执行偏最小二乘回归。 看来在那里没有PLSR的Java实现。 Weka在某个时候可能有类似的东西,但是它不再在API中。 另一方面,我发现了一个很好的R实现,这有一个额外的好处。 它被我想要复制的人使用,这意味着由于PLSR的实施方式的差异,事情出错的可能性会降低。 问题是:是否有一个足够好的(并且简单易用的)包,使Java可以调用R,将某些parameter passing给函数并读回结果? 我的另一个select是让Java在一个进程中产生R,然后监视它。 数据将被读取和写入磁盘。 你会推荐哪两个? 我错过了明显的第三个选项?
我希望这个问题不会成为“问答”的问题……这里:(多)共线性是指回归模型中预测variables之间极高的相关性。 如何治疗他们……好吧,有时候你不需要“治愈”共线性,因为它不影响回归模型本身,而是解释单个预测因子的影响。 找出共线性的一种方法是将每个预测variables作为因variables,其他预测variables作为自variables来确定R 2 ,如果它大于.9(或.95),则可以考虑预测variables冗余。 这是一个“方法”…其他方法呢? 其中一些是耗时的,就像从模型中排除预测因素和观察b系数的变化 – 它们应该是明显不同的。 当然,我们必须时刻牢记分析的具体背景/目标…有时候,唯一的补救办法就是重复一次研究,但是现在,我对多种共线性筛选多余预测因子的各种方法感兴趣发生在回归模型中。
我有一个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]}) 理想情况下,我会有类似ols(A ~ B + C, data = df)但是当我查看像scikit-learn这样的algorithm库中的例子时 ,它似乎用行列表而不是列来向数据提供数据。 这将要求我将数据重新格式化为列表内的列表,这似乎首先打败了使用pandas的目的。 什么是对大pandas数据框架中的数据运行OLS回归(或更普遍的任何机器学习algorithm)最pythonic的方式?
我有一个调查药物利用率的时间序列数据的回归模型。 目的是将时间序列拟合成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) 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 […]
如果我在回归中使用二元解释variables,我怎么能告诉R使用一定的水平作为参考? 这只是默认使用一些级别。 lm(x ~ y + as.factor(b)) 与b {0, 1, 2, 3, 4} 。 假设我想用3来代替R所使用的零。
我跑了一个回归: CopierDataRegression <- lm(V1~V2, data=CopierData1) 我的任务是获得一个 给定V2=6和V2=6的平均响应的90% 置信区间 当V2=6时预测间隔为 90%。 我使用了下面的代码: X6 <- data.frame(V2=6) predict(CopierDataRegression, X6, se.fit=TRUE, interval="confidence", level=0.90) predict(CopierDataRegression, X6, se.fit=TRUE, interval="prediction", level=0.90) 我得到了(87.3, 91.9)和(74.5, 104.8) ,这似乎是正确的,因为PI应该更宽。 两者的输出也包括se.fit = 1.39这是相同的。 我不明白这个标准错误是什么。 PI与CI的标准误差不应该大于? 如何在R中find这两个不同的标准错误? 数据: CopierData1 <- structure(list(V1 = c(20L, 60L, 46L, 41L, 12L, 137L, 68L, 89L, 4L, 32L, 144L, 156L, 93L, 36L, 72L, 100L, […]
我是R新手,我想用*apply函数来改进下面的脚本(我已经阅读了关于apply ,但是我无法设法使用它)。 我想在多个独立variables(它们是数据框中的列)上使用lm函数。 我用了 for (i in (1:3) { assign(paste0('lm.',names(data[i])), lm(formula=formula(i),data=data)) } Formula(i)被定义为 formula=function(x) { as.formula ( paste(names(data[x]),'~', paste0(names(data[-1:-3]), collapse = '+')), env=parent.frame() ) } 谢谢。