[问题] 有关结果再做条件是判断,再做回归

楼主: filialpiety (filialpiety)   2019-02-16 00:14:07
-
[问题类型]:
程式资讯
[软件熟悉度]:
新手(只有五个月的经验)
[问题叙述]:
想请教各位大大的策略
我有尝试用FUNCTION搭配IF找谁的Beta<0和>=0
下一部就卡死了
麻烦给点灵感
我是有想到机器学习或深度学习
可是没学过
网络爬文也不知道从何学起
求求各位!!!!
感谢
[程式策略]:
流程如下
###以下是成功的部份
第一步:整理出Y1, Y2, ….和X1, X1_reverse, X2, X2_reverse, ….
第二步:用循环结合线性回归
For (Y in Y1, Y2, ….){
For ( X in X1, X2, …){
Lm(Y~X
}
}
第三步:找出lm(Y~X)的X1, X2, X3,….的BETA
####成功结束
####以下是瓶颈的部分
第一步:
如果lm(Y~X1)的X1的BETA<0,则用X1_reverse取代X1
如果lm(Y~X2)的X2的BETA<0,则用X1_reverse取代X2
如果lm(Y~X3)的X3的BETA<0,则用X1_reverse取代X3
…..
第二步:
最后跑出新的自变相
X1_new(X1或是X1_reverse),
X2_new(X2或是X2_reverse),
X3_new(X3或是X3_reverse),
…..
第三部:
再把X1_new+ X2_new+ X3_new+ …..加总成X_new_total
####目前卡死在以上这些
[关键字]:
条件式判断
作者: Luluemiko (露露)   2019-02-16 09:46:00
用np.where来判断BETA是否>0喔不对 这个是python的作法
楼主: filialpiety (filialpiety)   2019-02-16 10:14:00
感谢~其实我也影响学python~~
作者: hank830214 (hank)   2019-02-16 12:15:00
lm物件也可以把beta叫出来不太懂分X1,X2,...和Y1,Y2,...的用途,最后又并在一起
作者: andrew43 (讨厌有好心推文后删文者)   2019-02-16 19:13:00
reverse是什么?
作者: a78998042a (Benjimine)   2019-02-16 21:06:00
n = 10usedata_xnew_list = vector("list", n)for(i in 1:n){usedata_df = as.data.frame(replicate(2, rnorm(30)))colnames(usedata_df) = c("Y", "X")#model = lm(Y~X, data = usedata_df)if(model$coe[2] < 0) usedata_df[, 2] = usedata_df[, 2]*-1#usedata_xnew_list[[i]] = usedata_df[, 2]}X_new_total = Reduce("+", usedata_xnew_list)
作者: andrew43 (讨厌有好心推文后删文者)   2019-02-16 21:50:00
a78998042a板友,较长的程式码敬请回文或贴在code分享站会更友善。谢谢。https://ideone.com/F7a0NR 参考看看
楼主: filialpiety (filialpiety)   2019-02-17 06:14:00
感谢楼上各位大大!我写出来了!晚点贴上code和大家分享

Links booklink

Contact Us: admin [ a t ] ucptt.com