主要内容

广泛的数据通过套索和并行计算

这个例子展示了如何使用套索随着交叉验证识别重要的预测因子。

加载示例数据并显示描述。

负载光谱描述
描述= 11×72 char数组' = =光谱和辛烷汽油的数据= = ' ' '的NIR光谱和辛烷值汽油样品60的' ' '近红外光谱:近红外光谱,以2 nm间隔从900纳米到1700纳米的辛烷:辛烷值的NIR光谱:一系列数据集包含变量和辛烷的‘‘参考:‘Kalivas约翰H。”,两个近红外光谱的数据集,”化学计量学“智能实验室系统,v。37 (1997)pp.255 - 259”

套索和弹性净尤其适合宽数据,即数据与预测比观察套索和弹性网。有冗余预测这种类型的数据。您可以使用套索随着交叉验证识别重要的预测因子。

计算违约套索健康。

[b fitinfo] =套索(近红外光谱,辛烷);

情节的预测数量安装套索正则化的函数λ用对数x设在。

lassoPlot (b fitinfo“PlotType”,“λ”,“XScale”,“日志”);

很难告诉它的价值λ是适当的。确定一个好的价值,尝试与交叉验证拟合。

抽搐(b fitinfo) =套索(近红外光谱、辛烷“简历”10);toc
运行时间是7.353767秒。

策划的结果。

lassoPlot (b fitinfo“PlotType”,“λ”,“XScale”,“日志”);

显示的建议值λ

fitinfo.Lambda1SE
ans = 0.0302

显示λ以最小均方误差。

fitinfo.LambdaMinMSE
ans = 0.0144

检查的质量适合的建议值λ

lambdaindex = fitinfo.Index1SE;mse = fitinfo.MSE (lambdaindex) df = fitinfo.DF (lambdaindex)
mse = 0.0528 df = 11

适合使用只有11 401年预测,达到一个小旨在MSE。

研究旨在MSE的情节。

lassoPlot (b fitinfo“PlotType”,“简历”);%使用对数尺度MSE更好地看到小MSE的值集(gca),“YScale”,“日志”);

作为λ增加(朝左)MSE迅速增加。系数减少太多,他们不充分适应反应。作为λ减少,模型更大(有更多的非零系数)。增加MSE overfitted表明模型。

的缺省设置λ值不包括值足够小,包括所有的预测因子。在这种情况下,似乎没有理由看更小的值。然而,如果你想要更小比默认值,使用LambdaRatio参数,或提供一个序列λ值使用λ参数。详情,请参阅套索参考页面。

交叉验证可以缓慢。如果你有一个并行计算工具箱许可证,速度的计算旨在套索估计使用并行计算。开始一个平行的池。

mypool = parpool ()
开始平行池(parpool)使用“本地”概要文件…连接到6工人。mypool =池的属性:连接:真NumWorkers: 6集群:本地AttachedFiles: {} AutoAddClientPath:真正的IdleTimeout: 30分钟(30分钟)SpmdEnabled:真的

设置和计算的并行计算选项套索估计。

选择= statset (“UseParallel”,真正的);抽搐;[b fitinfo] =套索(近红外光谱、辛烷“简历”10“选项”、选择);toc
运行时间是3.799009秒。

并行计算使用两个工人更快的在这个问题上。

停止平行池。

删除(mypool)
平行池使用当地的概要文件被关闭。

另请参阅

||||

相关的话题