小编ipj*_*ipj的帖子

R中的约束多元线性回归

假设我必须在回归中估计系数 a,b:

y=a*x+b*z+c
Run Code Online (Sandbox Code Playgroud)

我事先知道 y 总是在 y>=0 和 y<=x 的范围内,但回归模型有时会产生超出此范围的 y。

样本数据:

mydata<-data.frame(y=c(0,1,3,4,9,11),x=c(1,3,4,7,10,11),z=c(1,1,1,9,6,7))
round(predict(lm(y~x+z,data=mydata)),2) 
    1     2     3     4     5     6 
-0.87  1.79  3.12  4.30  9.34 10.32 
Run Code Online (Sandbox Code Playgroud)

第一个预测值 <0。

我试过没有截距的模型:所有预测都>0,但y的第三个预测>x(4.03>3)

round(predict(lm(y~x+z-1,data=mydata)),2)
   1    2    3    4    5    6 
0.76 2.94 4.03 4.67 8.92 9.68 
Run Code Online (Sandbox Code Playgroud)

我还考虑对比例y/x 而不是 y进行建模:

mydata$y2x<-mydata$y/mydata$x
round(predict(lm(y2x~x+z,data=mydata)),2)
   1    2    3    4    5    6 
0.15 0.39 0.50 0.49 0.97 1.04 
round(predict(lm(y2x~x+z-1,data=mydata)),2)
   1    2    3    4    5    6 
0.08 0.33 0.46 0.47 0.99 1.07 
Run Code Online (Sandbox Code Playgroud)

但是现在第六个预测 >1,但比例应该在 [0,1] 范围内。

我还尝试应用glm …

regression r

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

将二进制 Pandas Dataframe 折叠为一列

我有一个如下形式的数据框:

  a b c d e
0 0 1 0 1 0
1 0 0 0 1 1
2 1 1 0 0 0
Run Code Online (Sandbox Code Playgroud)

我想折叠它,只将其中的一个折叠到一行,例如:

   x 
0 'bd' 
1 'de' 
2 'ab'
Run Code Online (Sandbox Code Playgroud)

提前致谢

python python-3.x pandas

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

从一个列表返回索引范围以从另一个列表中获取值

我有两个大小相同的列表,一个具有数据类型(连续出现):

types = ["vigi","vigi","fruits","fruits","fruits","nothing","nothing","nothing","nothing"]
Run Code Online (Sandbox Code Playgroud)

第二个列表是关于数据的:

data = ["xx","tr","kl","ut","ew","uy","lp","eq","aq"]
Run Code Online (Sandbox Code Playgroud)

从数据列表中,我知道"xx","tr"are"vigi""kl","ut","ew"are"fruits"等等。

我每次需要将它们data分成两个数据集:

data1 = data[indices for type "vigi"]
data2 = data[indices for the remaining (i.e. data for "fruits" and "nothing")]
Run Code Online (Sandbox Code Playgroud)

第二次将有:

data1 = data[indices for type "fruits"]
data2 = data[indices for the remaining (i.e. data for "vigi" and "nothing")]
Run Code Online (Sandbox Code Playgroud)

等等 ..

请提供任何帮助。

python list indices

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

标签 统计

python ×2

indices ×1

list ×1

pandas ×1

python-3.x ×1

r ×1

regression ×1