爾云間生信代碼|基于lasso回歸模型方法篩選特征基因

LASSO是由1996年Robert Tibshirani首次提出,全稱Least absolute shrinkage and selection operator(最小絕對(duì)收縮和選擇算子)。該方法是一種壓縮估計(jì)。它通過(guò)構(gòu)造一個(gè)懲罰函數(shù)得到一個(gè)較為精煉的模型,使得它壓縮一些回歸系數(shù),即強(qiáng)制系數(shù)絕對(duì)值之和小于某個(gè)固定值;同時(shí)設(shè)定一些回歸系數(shù)為零。因此保留了子集收縮的優(yōu)點(diǎn),是一種處理具有復(fù)共線性數(shù)據(jù)的有偏估計(jì)。
LASSO也是一種廣泛應(yīng)用于Cox比例風(fēng)險(xiǎn)回歸模型的流行方法,用于高維數(shù)據(jù)的生存分析。LASSO 回歸的特點(diǎn)是在擬合廣義線性模型的同時(shí)進(jìn)行變量篩選和復(fù)雜度調(diào)整。因此,不論目標(biāo)因變量是連續(xù)的,還是二元或者多元離散的,都可以用 LASSO 回歸建模然后預(yù)測(cè)。這里的變量篩選是指不把所有的變量都放入模型中進(jìn)行擬合,而是有選擇的把變量放入模型從而得到更好的性能參數(shù)。復(fù)雜度調(diào)整是指通過(guò)一系列參數(shù)控制模型的復(fù)雜度,從而避免過(guò)度擬合。對(duì)于線性模型來(lái)說(shuō),復(fù)雜度與模型的變量數(shù)有直接關(guān)系,變量數(shù)越多,模型復(fù)雜度就越高。更多的變量在擬合時(shí)往往可以給出一個(gè)看似更好的模型,但是同時(shí)也面臨過(guò)度擬合的危險(xiǎn)。此時(shí)如果用全新的數(shù)據(jù)去驗(yàn)證模型,通常效果很差。一般來(lái)說(shuō),變量數(shù)大于數(shù)據(jù)點(diǎn)數(shù)量很多,或者某一個(gè)離散變量有太多獨(dú)特值時(shí),都有可能過(guò)度擬合。
在目前的研究中,可使用LASSO Cox回歸模型檢測(cè)與癌癥表型顯著相關(guān)的樞紐基因。因此本代碼基于腫瘤樣本的基因表達(dá)譜并結(jié)合不同樣本分組,利用LASSO(最小絕對(duì)收縮和選擇算子)算法,得到與表型密切相關(guān)的特征基因。只需要輸入基因表達(dá)矩陣及樣本的表型信息,將自行構(gòu)造懲罰函數(shù)得到精煉的LASSO回歸模型以獲取特征基因。同時(shí)結(jié)合樣本分組繪制特征基因間相關(guān)性分析圖。
使用方法:
Rscript LASSO.R -Eset= -sampleLabels=?
參數(shù)說(shuō)明:
USAGE:LASSO.R -Eset=<Eset> -sampleLabels=<sampleLabels>PARAMETERS:-Eset ??the gene expression matrix ,gene as row,sample as column ,input txt format using tabs as delimiters-sampleLabels ??the sample classification labels ,the first column is sample name which is consistent with Eset column in order,the second column is the classification labels, input txt format using tabs as delimiters.Note: the sample size should be smaller than the number of genes操作步驟:1、打開命令行界面,輸入“Rscript LASSO.R”調(diào)閱幫助文檔,確定該程序所需的輸入文件。2、用戶根據(jù)幫助文檔中的參數(shù)說(shuō)明內(nèi)容,對(duì)參數(shù)進(jìn)行設(shè)置。這里,必須輸入?yún)?shù)有2個(gè),分別是-Eset,表示基因表達(dá)矩陣文件,以基因?yàn)樾?,樣本為列,保存為txt文件,使用制表符作為分隔符,注意樣本量應(yīng)大于基因數(shù)量。-sampleLabels表示樣本表型信息,包含兩列,第一列為樣本名稱,必須包含于或等于基因表達(dá)矩陣的樣本,第二列為對(duì)應(yīng)的表型,使用制表符作為分隔符輸入txt格式。3、完成參數(shù)提交后,按下回車鍵,整個(gè)程序即正式開始進(jìn)入執(zhí)行。程序執(zhí)行完畢后,界面會(huì)顯示”Program execution is completed"結(jié)束語(yǔ)。
結(jié)果展示:
共輸出3個(gè)PDF,2個(gè)txt文件。
1、Rplots.pdf

lasso分析對(duì)應(yīng)的系數(shù)剖面圖,根據(jù)最小cp值獲取對(duì)應(yīng)最佳步數(shù)進(jìn)行l(wèi)asso分析。橫坐標(biāo)的step值與lasso.pdf中l(wèi)asso系數(shù)譜中豎線的標(biāo)號(hào)對(duì)應(yīng)。
2、lasso.pdf

lasso系數(shù)譜:?根據(jù)最佳步數(shù),篩選特征值,納入特征基因。豎線對(duì)應(yīng)于lasso中迭代的次數(shù),對(duì)應(yīng)的系數(shù)值不為0的自變量即為選入的,豎線的標(biāo)號(hào)與lasso分析對(duì)應(yīng)的系數(shù)剖面圖中的步數(shù)相對(duì)應(yīng)。
3、lasso_gene.txt

通過(guò)LASSO系數(shù)譜獲取cp值最小時(shí)篩選得到的特征基因,及基因?qū)?yīng)的相關(guān)系數(shù)。
4、lasso_gene_matrix.txt

為lasso分析出的特征基因表達(dá)譜文件。第一行為樣本名稱,接下來(lái)的行數(shù)為篩選到的特征基因及原始表達(dá)譜中的表達(dá)量。制表符作為分隔符。
5、lasso_gene_correlation.pdf

利用lasso篩選的特征基因表達(dá)譜文件,進(jìn)行基因間相關(guān)性分析。顏色越藍(lán),正相關(guān)性越強(qiáng)。顏色越紅,負(fù)相關(guān)性越強(qiáng)。
特別說(shuō)明:本代碼經(jīng)申請(qǐng)軟件著作權(quán),僅轉(zhuǎn)讓使用權(quán),不轉(zhuǎn)讓所有權(quán)
如需代碼及示例數(shù)據(jù)等文件,請(qǐng)掃碼聊天框回復(fù) “代碼”領(lǐng)取!

寫在文末:
如果您近期想做生信方面的文章而苦于沒有思路,或者不知道如何來(lái)入手生信分析,或者兌具體的某一個(gè)圖有作圖需求,都可以掃碼咨詢小云,我們有專業(yè)的技術(shù)團(tuán)隊(duì),生信熱點(diǎn)思路設(shè)計(jì)、生信分析、熱點(diǎn)方向生信挖掘等,如有需要,可掃碼下方二維碼了解詳情:?
