地理数据分析与建模集中实习日志(四)(武大遥感).doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
地理数据分析与建模集中实习口志(四)
首先,
针对matlab中不熟悉的语法进行复习:
1.size函数
[r z c]=size(A)
当有两个输出参数时,size函数将矩阵的行数返I叫到第一个输出变量r,将矩阵的列数返"I 到第二个输出变量c
r=size(A,l)该语句返回的时矩阵A的行数,c=size(A z2)该语句返回的时矩阵A的列数
2.增广矩阵
不同于线性代数中,在系数矩阵的右边添上一列。matlab中为原矩阵新添加一列
[A B],把矩阵A和矩阵B合并到一起
3.Y = round(X)
在matlab中round也是一个四舍五入函数。
4.使用“stem”绘制针状图
注意:
神经网络的输入和输出数据要求每列是一个样本
偏最小二乘每行是一个样本
其次,
更正指导书中一个错误
matlab代码如下:
spectrumMean_sets=spectrumMean_sets';
%以计算TP (因变量,真实值)为例
[XL,yl,XS,YS,beta,PCTVAR] = plsregress(spectrumMean_sets,TP/10);
yfit = [ones(size(spectrumMean_sets,l)/l) spectrumMean_sets]*beta;%矩阵前加一列1 以对应常数项(回归系数BETA,其中第一行是常数项(因为它乘以对应的1,是一个常数,即常数项)
不管任何回归模型
格式一般都是:y=ax1+bx2+cx3+d
spectrumMean_sets在最左添加了一列1后,成了56*2152,正好可以乘系数矩阵beta (abed 的值是固定的,适用于任何变量,而d常数项,是该列第一个)
维度如下spectru mMea n_sets <56x2151 double>
[Jj beta
fT' 1 <2152x1 double>
residuals = TP-yfit;%残差等于真实值减去模型值figure;
stem(residuals) %计算残差
xlabel('Observation');
ylabel('Residuar);
残差结果图