因为项目需要,去了解了一下LASSO【The Least Absolute Shrinkage and Selection Operator】,又译最小绝对值收敛和选择算子、套索算法。鼓捣了几天下来,我也没有弄太懂,但是大概知道了怎么使用,特此记录一下。
- 另外查的过程中发现,LASSO并不产生P值,并且不建议去计算P值,虽然原理没弄大懂,但是可以记住结论。同样,附上参考链接: 
 Are p values generally reported in LASSO regressions? : statistics
- 如果要计算P值的话,得通过另外一种回归计算: 
 https://stats.stackexchange.com/questions/84185/lasso-to-identify-important-variables-in-ordered-logistic-regression
 而我看到的一篇文章里是用有序回归(ordinal regression)计算的P值。
 Chen, D. Q. et al. Identification of serum metabolites associating with chronic kidney disease progression and anti-fibrotic effect of 5-methoxytryptophan. Nat. Commun. 10, 1–15 (2019).
- 怎么是使用LASSO分析微生物的数据: 
 参考了这个脚本,该脚本只适用于二元分组的数据,并且接入的是 Biom 格式的文件:https://github.com/alifar76/MicrobeNets
同样因为项目需要,我基于该脚本按照我的理解修改成接入普通文件以及多组的情况,组别文件需要将字符型变量转化成数值型变量,脚本如下,不一定准确,仅供参考:
Biom 格式的也是类似的,只不过需要处理文件的最后一列的物种注释信息。
| 1 | ## 用于非biom 格式文件, Genus | 
- 效果如何? 
 就我的结果来看,不是很理想。我另外使用MaAsLin2做了测试,发现后者的结果更加好一些。两种方法的重叠物种也不多。个人经验和意见,仅供参考。
 MaAsLin2
- Python如何实现LASSO? 
 使用了该方法的文章以及脚本:
 Wilmanski, T. /et al./ Blood metabolome predicts gut microbiome α-diversity in humans. /Nat. Biotechnol./ doi:10.1038/s41587-019-0233-9
 GitHub - PriceLab/ShannonMets: ** Blood metabolome predicts gut microbiome α-diversity in humans**
