[問題] 有關結果再做條件是判斷,再做回歸

作者: 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