大数据,机器学习,人工智能大数据 爬虫Python AI Sql玩转大数据

matlab利用PLSR和支持向量回归分析红树林叶面化学的高光谱

2020-04-17  本文已影响0人  拓端tecdat

原文链接:http://tecdat.cn/?p=5648

高光谱遥感能够实现冠层生化特性的大规模绘图。本研究探讨了从印度尼西亚Berau三角洲的红树林中回收氮,磷,钾,钙,镁和钠浓度的可能性。

该研究的目的是(1)评估叶面化学检索的准确性,(2)比较基于支持向量回归(SVR)的模型的性能,即ε-SVR,ν-SVR和最小二乘SVR(LS) -SVR),基于偏最小二乘回归(PLSR)的模型,以及(3)研究哪种光谱变换最适合。

简介

红树林生长在热带和亚热带的潮间带沿海栖息地。它们是地球上受威胁最严重的脆弱生态系统之一,并受到人类活动的持续压力 。砍伐红树林,为农业,水产养殖和城市住区创造新的土地 。

材料和方法

研究区位于印度尼西亚东加里曼丹省的Berau三角洲 。

图1.研究区域的位置(数据来源:Bakosurtanal,印度尼西亚,2000年)。

叶子样品的集合

实地工作于2010年9月和10月进行。样本沿垂直于海岸线的横断面收集。目的是捕捉研究区红树林类型和生长条件的变化,反映叶片生化指标的变化。距海岸线最大长度400米被认为足以捕获叶面生化变异。总共有77个叶样品沿着横断面收集,距离大约为50米的分离点 。在可能的情况下避免了具有混合物种的异质区域,因为它们增加了使用错误物种的图像像素匹配叶子样本的风险。记录图像和收集样本之间的1年时间间隔留下了错误的空间。然而,在相似的气候条件下,成熟的叶子反映了该地点的长期营养状况 。在一年前拍摄图像的同一季节进行采样,限制了树叶可能的季节性变化的影响。这很重要,因为红树林叶片的生化组成会随着季节性气候条件而波动 。

图2.研究区域中的样本位置。

在每个样本点,选择主导属的代表树,并且其位置用GPS登记。从树冠上部切下一对树枝,从这些树枝上收集10片成熟的未受损叶子并储存在信封中。红树叶的生化成分随叶龄而变化,特别是在衰老过程中。

光谱变换

众所周知的是适当的光谱转化技术可以去除噪声和提高生物化学吸收特征,从而提高了回归模型的精确度 。除了使用未转换的反射率之外,还应用了四种光谱转换方法并在分析中进行了比较。

偏最小二乘回归

PLSR使用分量投影将整个频谱减少到包含最有用信息的较少数量的非相关分量(也称为潜在变量)。在很大程度上,在凝聚的组分中消除了原始光谱中的噪声和共线性。MATLAB v.R2010a(MathWorks)中的PLSREGRESS工具用于回归建模,并通过五重交叉验证优化组件数量。

光谱波长的相对重要性

基于CRDR(最高性能的光谱变换技术)的模型用于分析光谱带的相对重要性。 LS-SVR和PLSR系数显示相似的模式,表明SVRp-矢量包含类似于PLSR系数的信息,并且可以以相同的方式解释。

图5.使用CRDR转换反射率估算N的光谱带的相对重要性。系数通过除以它们各自的标准偏差归一化。

图6.使用LS-SVR和CRDR进行氮预测。

图7.使用所有CRDR条带从PLSR得到的氮浓度图。

叶面积的变化可能影响预测的N浓度。然而,尽管树木密度较低,沿着海岸线的阿维森尼亚林分仍显示出始终如一的高水平。具有高度泥浆或根(即低LAI)的像素被分类为非红树林(地图上的浅灰色),因此减少了稀疏冠层覆盖的负面影响。

结论

基于该研究,得出以下结论。

1。评估了四种不同回归技术ε-SVR,ν-SVR,LS-SVR和PLSR的性能。 PLSR是使用所有波段时具有最高精度的方法,并且在抑制氮气图中的噪声方面更有效。

2。基于SVM的方法易受自变量中的冗余和共线性的影响,并且必须减少频带的数量以获得最佳性能。在这里,通过分析生成的PLSR和SVR模型的结构来识别最具信息性的条带。

3。比较了不同的光谱变换方法对预测模型性能的影响。CRDR被证明是增强与氮有关的吸收特征的最有效的转化方法。

总体而言,该研究已经证明了使用空气传播的高光谱数据和经验模型预测红树林中氮的可能性。用于预测磷,钾,钙,镁和钠的模型显示出不太令人鼓舞的结果。生成了研究区域的叶片氮变异图,并且出现的模式可用于分析生态系统过程,例如与红树林中的洪水进行养分交换。分析这些大规模的叶面氮空间模式对于红树林养分动态研究人员和森林管理的角度来说都是非常有益的。

代码实例:

[XL,yl,XS,YS,beta,PCTVAR] = plsregress(X,y,10);

plot(1:10,cumsum(100*PCTVAR(2,:)),'-bo');

xlabel('Number of PLS components');

ylabel('Percent Variance Explained in y');

yfit = [ones(size(X,1),1) X]*beta;

residuals = y - yfit;

stem(residuals)

xlabel('Observation');

ylabel('Residual');

上一篇下一篇

猜你喜欢

热点阅读