欢迎来到某某官网,某某是一家生产阳光板耐力板厂家,品质保障,欢迎咨询!

返回列表页

各优化算法比较,其中的最优收敛值、最差收敛值、平均收敛值,如何计算?从进化图如何看出收敛速度、精度?

看论文经常看到,比较各优化算法的最优收敛值、最差收敛值和平均收敛值,标准差值,,这些值是如何计算的,见表1,而且文章中通过进化图(见图1),可以看出收敛速度和精度,怎么就能看出来?小弟非常感谢,查了很多文献也查不到,各位大神可以给解释一下吗,或者给小弟个学习方向或者参考资料,小弟愚钝,唯有不耻下问。

谢邀,这个问题挺简单的如果你细心一些读论文应该就能明白。

只谈实验结果分析,那么我们就只看文章的实验部分:包括实验背景,实验设备,参数设置,实验方法等。

其中,参数设置和实验方法应当是你阅读过程中需要关注的重点,而前两者主要是在复现实验时需要注意的重点(如仿真实验的消耗时间对比)

那么我们来讲后两者,我猜你肯定没有获取到全部细节信息以及理解实验方法。这时候你换位思考一下,你现在手头有三个不同的算法,你需要验证一下他们各自的性能,那么你会怎么去设计这个实验?首先是设定一个相同的求解目标,然后让每个算法去对这个目标进行求解,最终比较求解得到的结果精度或者说到达相同精度的时间对吧。相同时间内或相同计算量下谁精度高谁好,相同计算量或相同精度下谁快谁好。

然后如果算法具有随机的性质,那是不是需要考虑一下偶然性?PSO就是典型的基于随机的算法,你用梯度法那就不具备随机性,那么前者你如何消除算法的偶然性?是不是多次求解取平均值?后者没有随机性,是不是就不用去多次求解取平均?说到这儿你应该明白了怎么“计算” 平均值,最大值以及最小值了。

然后看进化曲线,图中的进化曲线实在不是一个好的进化曲线,为什么这么说,因为这哪里是曲线了?处处是拐点,这分明是折线对吧。所以这应该是根据单次实验得出的数据做的图,正确的进化曲线从外观上看应该是平滑的,从数据上看应该是综合了前面为了消除偶然性而进行的所有实验的。如每个算法做了30次实验,那么进化曲线就应该是根据30次里每一代的平均数据而画的图,这个图的平滑程度与实验次数相关,次数越多图越平滑,越具有科学性。

最后,如何从图中看出谁性能好?谁快?

首先你仔细看看横纵坐标分别代表的含义,横轴是进化代数,纵轴是精度。那是不是谁精度高(接近求解目标真正的解),谁更快达到(时间或代数),那就说明该算法性能越好?

论文通常是十分精炼的,每一个信息每一个数据都有意义,题主还需要更加细心和耐心去研读。刚开始不是要多看,而是要学会如何去看。精读一篇文章有时候胜过略读百篇,尤其是初始阶段,学会拆分论文的重点,掌握如何看论文是首先需要研究的。另外,要多采取换位思考的方法,比如你是作者,你要如何去规划一篇文章?你要如何体现出你的工作?你要如何说明你所做的工作有意义?你要如何去打动文章的审稿人?等等。

加油,祝顺利。

表一中:比如算法进行了500次独立重复实验,那么最优收敛值就是算法迭代到停止时,这500次运行结果中最接近真实值的结果;同理,最差收敛值就是算法迭代到停止时,这500次运行结果中最远离真实值的结果;而平均收敛值则为这500次结果的平均值。标准差就是平均收敛值与真实值的方差开根号。

图一中:横坐标为迭代次数,纵坐标为适应度对应值,这里的适应度对应值我觉得是一种评价标准。要评价几个算法求解某个问题的收敛速度,就可以比较谁能更快接近真实值(本问题中为适应度对应值),从图中可以看出,TPSO算法随着迭代次数的增加下降的明显要快一点,因此它的收敛速度要快一些。

这些都是优化算法中的一些基础知识,题主可以多看看优化算法类的基础知识。也可以关注微信公号优化与算法 里面有不少介绍算法原理和算法仿真代码的推文,平时在手机上就可以学习。

请问 题主目前有这方面的代码吗 一起交流学习以下,我也准备做这方面的

?

为了在更精细的尺度上对陆地表面过程进行建模,迫切需要对吸收的光合有效辐射(FPAR)的精细分辨率部分进行准确的估计。虽然传统的方法难以兼顾普遍性、效率和准确性,但以粗分辨率产品为参考的方法对细分辨率FPAR的运行估计很有希望。然而,目前的方法面临着粗分辨率FPAR产品中FPAR-反射关系代表性不足的主要问题,特别是对于植被茂密的地区。为了克服这一局限性,本文开发了一种增强的缩放方法,提出了一个去除离群点的程序和一种对所选样本进行加权的方法,并通过粗分辨率FPAR产品和汇总的细分辨率表面反射率之间的加权多元线性回归(MLR)建立FPAR模型。同时,还实施了随机森林回归(RFR)方法进行比较。这两种方法都特别适用于谷歌地球引擎上的Landsat 8 OLI和中等分辨率成像分光仪(MODIS)FPAR数据。它们的性能在区域范围内进行了一整年的测试。增强的缩放方法的结果更接近现场测量(RMSE=0.058和R 2=0.768),与MODIS FPAR(RMSE=0.091和R 2=0.894)相比,与RFR的结果更一致,特别是在植被密集的像素上。这表明一个设计良好的基于MLR的简单方法可以胜过更复杂的RFR方法。与RFR方法相比,增强的缩放方法对训练样本的数量也不太敏感。此外,这两种方法对土地覆盖图都不敏感,其计算效率取决于要估计的图像数量。

?

MCD15A3H.006 MODIS Leaf Area Index/FPAR 4-Day Global 500m

MCD15A3H V6 level 4, Combined Fraction of Photosynthetically Active Radiation (FPAR), and Leaf Area Index (LAI) product是一个为期4天的综合数据集,像素大小为500米。该算法从位于NASA Terra和Aqua卫星上的MODIS传感器在4天内的所有采集中选择 "最佳 "像素。

Dataset Availability

2002-07-04T00:00:00 -

Dataset Provider

NASA LP DAAC at the USGS EROS Center

Collection Snippet

ee.ImageCollection("MODIS/006/MCD15A3H")

?


代码:

/******      This code shows the process of estimating Landat FPAR for the study area by ******/
/******   the enhanced scaling method. Results are NOT realiable due to the reduced amount   ******/
/******   of training data (about 5000 samples), the origial training data set contains over   ******/
/******   60000 samples. This code is only intended for ilustrative purposes only.  ******/
?
/****** 此代码显示了通过增强缩放方法估算研究区域的 Landat FPAR 的过程。 由于训练数据量减少(约 5000 个样本),结果不可靠,原始训练数据集包含超过 60000 个样本。 此代码仅用于说明目的。 ******/
?
?
//Landsat-8 去云函数
function maskL8sr(image) {
  var cloudShadowBitMask = (1 << 3);
  var cloudsBitMask = (1 << 5);
  var qa = image.select('pixel_qa');
  var mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0)
                 .and(qa.bitwiseAnd(cloudsBitMask).eq(0));
  return image.updateMask(mask);
}
?
//进行指定区域影像去云和裁剪
var naip = ee.ImageCollection("LANDSAT/LC08/C01/T1_SR")
            .filter(ee.Filter.eq('WRS_PATH', 127))
            .filter(ee.Filter.eq('WRS_ROW', 36))
            .filterDate('2021-5-30','2021-5-31')
            .map(maskL8sr)
            .first()
var shp = naip.geometry()
var trueColor432Vis = {
  min: 0,
  max: 5000,
  gamma: 1.1
};
Map.addLayer(naip.select(['B5', 'B4', 'B3']).clip(roi),trueColor432Vis,'RGB')
?
//分类
//获取样本点
var training = naip.sample({
  region: shp,
  scale: 30,
  numPixels: 50000
});
//Kmeans聚类,非监督分类
var clusterer = ee.Clusterer.wekaKMeans(5).train(training);
var result = naip.cluster(clusterer);
Map.centerObject(roi, 12);
?
// MODIS FPAR
var getQABits = function(image, start, end, newName) {
    // 计算我们需要提取的位。
    var pattern = 0;
    for (var i = start; i <= end; i++) {
       pattern += Math.pow(2, i);
    }
    return image.select([0], [newName])
                  .bitwiseAnd(pattern)
                  .rightShift(start);
};
?
//MODIS影像
var collection1 = ee.ImageCollection("MODIS/006/MCD15A3H") 
            .filterDate('2021-5-28','2021-6-3')
            .filterBounds(shp)
            .select('Fpar','FparLai_QC')
            .first()
            .clip(shp)
?
var collection = collection1.reproject('EPSG:32649', null, 480);
var QA = collection.select('FparLai_QC');
var landWaterFlag = getQABits(QA, 0,0, 'qc');
var mask = landWaterFlag.neq(0)
var modisProjection = collection.projection();
var Fpar = collection.updateMask(mask.not())
?
//像素聚合,这里选择波段转化系数,方便计算
var naip1 = naip.select('B3').divide(10000)
var naip2 = naip.select('B4').divide(10000)
var naip3 = naip.select('B5').divide(10000)
var naip4 = naip.select('B6').divide(10000)
var naip5 = naip.select('B7').divide(10000)
?
//这里代码可以优化,合并reducer结果
//Landsat 8 各波段进行重分类,分别计算标准差
var std1 = naip1
    .reduceResolution({
      reducer: ee.Reducer.stdDev(),
      maxPixels: 1024
    })
    .reproject({
      crs: modisProjection
    });
//平均值
var Mean1 = naip1
    .reduceResolution({
      reducer: ee.Reducer.mean(),
      maxPixels: 1024
    })
    .reproject({
      crs: modisProjection
    });
?
var std2 = naip2
    .reduceResolution({
      reducer: ee.Reducer.stdDev(),
      maxPixels: 1024
    })
    .reproject({
      crs: modisProjection
    });
var Mean2 = naip2
    .reduceResolution({
      reducer: ee.Reducer.mean(),
      maxPixels: 1024
    })
    .reproject({
      crs: modisProjection
    });
var std3 = naip3
    .reduceResolution({
      reducer: ee.Reducer.stdDev(),
      maxPixels: 1024
    })
    .reproject({
      crs: modisProjection
    });
var Mean3 = naip3
    .reduceResolution({
      reducer: ee.Reducer.mean(),
      maxPixels: 1024
    })
    .reproject({
      crs: modisProjection
    });
var std4 = naip4
    .reduceResolution({
      reducer: ee.Reducer.stdDev(),
      maxPixels: 1024
    })
    .reproject({
      crs: modisProjection
    });
var Mean4 = naip4
    .reduceResolution({
      reducer: ee.Reducer.mean(),
      maxPixels: 1024
    })
    .reproject({
      crs: modisProjection
    });
var std5 = naip5
    .reduceResolution({
      reducer: ee.Reducer.stdDev(),
      maxPixels: 1024
    })
    .reproject({
      crs: modisProjection
    });
var Mean5 = naip5
    .reduceResolution({
      reducer: ee.Reducer.mean(),
      maxPixels: 1024
    })
    .reproject({
      crs: modisProjection
    });
?
var land = result
    .reduceResolution({
      reducer: ee.Reducer.mode(),
      maxPixels: 1024
    })
    .reproject({
      crs: modisProjection
    });
    
//加载训练数据
var train_data = ee.FeatureCollection('users/43012496/traing_fpar/Train_demo')
var fpar_manzu = Fpar.select('Fpar').clip(train_data)
var fpar_quanzhong = fpar_manzu.multiply(0.01)
?
//计算权重,掩膜掉大于0.9的部分,进行像素统计
var fp9 = fpar_quanzhong.updateMask(fpar_quanzhong.gte(0.9)).reduceRegion({
  reducer: ee.Reducer.count(),
  geometry: shp,
  scale: 480,
  crs: 'EPSG:32649',
  maxPixels: 11e9
})
//计算权重,掩膜掉大于0.8的部分,进行像素统计
var fp8 = fpar_quanzhong.updateMask(fpar_quanzhong.gte(0.8)).reduceRegion({
  reducer: ee.Reducer.count(),
  geometry: shp,
  scale: 480,
  crs: 'EPSG:32649',
  maxPixels: 11e9
})
//
var a2 = fp9.getNumber('Fpar')
var a3 = fp8.getNumber('Fpar')
var num1 = ee.Number(1)
var per = num1.add(num1.subtract(a2.divide(a3)))
var fpar_quan = fpar_quanzhong.where(fpar_quanzhong.lt(0.9),1)
               .where(fpar_quanzhong.gte(0.9),per)
var img = land.updateMask(fpar_manzu.select('Fpar'))
?
//不同土地覆盖类型的多元线性回归
var manzu = fpar_manzu.select('Fpar').multiply(0.01).addBands(img.rename('biome'))
var manzu1 = manzu.updateMask(manzu.select('biome').eq(0)).select('Fpar')
var manzu2 = manzu.updateMask(manzu.select('biome').eq(1)).select('Fpar')
var manzu3 = manzu.updateMask(manzu.select('biome').eq(2)).select('Fpar')
var manzu4 = manzu.updateMask(manzu.select('biome').eq(3)).select('Fpar')
var manzu5 = manzu.updateMask(manzu.select('biome').eq(4)).select('Fpar')
?
var biome01 = Mean1.updateMask(manzu.select('biome').eq(0))
var biome02 = Mean2.updateMask(manzu.select('biome').eq(0))
var biome03 = Mean3.updateMask(manzu.select('biome').eq(0))
var biome04 = Mean4.updateMask(manzu.select('biome').eq(0))
var biome05 = Mean5.updateMask(manzu.select('biome').eq(0))
?
var biome11 = Mean1.updateMask(manzu.select('biome').eq(1))
var biome12 = Mean2.updateMask(manzu.select('biome').eq(1))
var biome13 = Mean3.updateMask(manzu.select('biome').eq(1))
var biome14 = Mean4.updateMask(manzu.select('biome').eq(1))
var biome15 = Mean5.updateMask(manzu.select('biome').eq(1))
var biome21 = Mean1.updateMask(manzu.select('biome').eq(2))
var biome22 = Mean2.updateMask(manzu.select('biome').eq(2))
var biome23 = Mean3.updateMask(manzu.select('biome').eq(2))
var biome24 = Mean4.updateMask(manzu.select('biome').eq(2))
var biome25 = Mean5.updateMask(manzu.select('biome').eq(2))
var biome31 = Mean1.updateMask(manzu.select('biome').eq(3))
var biome32 = Mean2.updateMask(manzu.select('biome').eq(3))
var biome33 = Mean3.updateMask(manzu.select('biome').eq(3))
var biome34 = Mean4.updateMask(manzu.select('biome').eq(3))
var biome35 = Mean5.updateMask(manzu.select('biome').eq(3))
var biome41 = Mean1.updateMask(manzu.select('biome').eq(4))
var biome42 = Mean2.updateMask(manzu.select('biome').eq(4))
var biome43 = Mean3.updateMask(manzu.select('biome').eq(4))
var biome44 = Mean4.updateMask(manzu.select('biome').eq(4))
var biome45 = Mean5.updateMask(manzu.select('biome').eq(4))
var constant = ee.Image(1)
?
//训练 MLR 模型
//这里是将多波段分别合并不同的参数
var imgRegress0 = ee.Image.cat(constant,biome01,biome02,biome03,biome04,biome05, manzu1).multiply(fpar_quan)
var imgRegress1 = ee.Image.cat(constant,biome11,biome12,biome13,biome14,biome15, manzu2).multiply(fpar_quan)
var imgRegress2 = ee.Image.cat(constant,biome21,biome22,biome23,biome24,biome25, manzu3).multiply(fpar_quan)
var imgRegress3 = ee.Image.cat(constant,biome31,biome32,biome33,biome34,biome35, manzu4).multiply(fpar_quan)
var imgRegress4 = ee.Image.cat(constant,biome41,biome42,biome43,biome44,biome45, manzu5).multiply(fpar_quan)
?
//进行线性回归分析,这里用的linearRegression
var linearRegression0 = imgRegress0.reduceRegion({
  reducer: ee.Reducer.linearRegression({
    numX: 6,
    numY: 1
  }),
  geometry: shp,
  scale: 480,
  tileScale: 16
});
var linearRegression1 = imgRegress1.reduceRegion({
  reducer: ee.Reducer.linearRegression({
    numX: 6,
    numY: 1
  }),
  geometry: shp,
  scale: 480,
  tileScale: 16
});
var linearRegression2 = imgRegress2.reduceRegion({
  reducer: ee.Reducer.linearRegression({
    numX: 6,
    numY: 1
  }),
  geometry: shp,
  scale: 480,
  tileScale: 16
});
var linearRegression3 = imgRegress3.reduceRegion({
  reducer: ee.Reducer.linearRegression({
    numX: 6,
    numY: 1
  }),
  geometry: shp,
  scale: 480,
  tileScale: 16
});
var linearRegression4 = imgRegress4.reduceRegion({
  reducer: ee.Reducer.linearRegression({
    numX: 6,
    numY: 1
  }),
  geometry: shp,
  scale: 480,
  tileScale: 16
});
?
//得到系数,然后分别获取每一个系数,得到系数这里得转化为列表
var coefList0 = ee.Array(linearRegression0.get('coefficients')).toList();
var a0 = ee.List(coefList0.get(0)).get(0);
var a1 = ee.List(coefList0.get(1)).get(0);
var a2 = ee.List(coefList0.get(2)).get(0);
var a3 = ee.List(coefList0.get(3)).get(0);
var a4 = ee.List(coefList0.get(4)).get(0);
var a5 = ee.List(coefList0.get(5)).get(0);
var coefList1 = ee.Array(linearRegression1.get('coefficients')).toList();
var b0 = ee.List(coefList1.get(0)).get(0);
var b1 = ee.List(coefList1.get(1)).get(0);
var b2 = ee.List(coefList1.get(2)).get(0);
var b3 = ee.List(coefList1.get(3)).get(0);
var b4 = ee.List(coefList1.get(4)).get(0);
var b5 = ee.List(coefList1.get(5)).get(0);
var coefList2 = ee.Array(linearRegression2.get('coefficients')).toList();
var c0 = ee.List(coefList2.get(0)).get(0);
var c1 = ee.List(coefList2.get(1)).get(0);
var c2 = ee.List(coefList2.get(2)).get(0);
var c3 = ee.List(coefList2.get(3)).get(0);
var c4 = ee.List(coefList2.get(4)).get(0);
var c5 = ee.List(coefList2.get(5)).get(0);
var coefList3 = ee.Array(linearRegression3.get('coefficients')).toList();
var d0 = ee.List(coefList3.get(0)).get(0);
var d1 = ee.List(coefList3.get(1)).get(0);
var d2 = ee.List(coefList3.get(2)).get(0);
var d3 = ee.List(coefList3.get(3)).get(0);
var d4 = ee.List(coefList3.get(4)).get(0);
var d5 = ee.List(coefList3.get(5)).get(0);
var coefList4 = ee.Array(linearRegression4.get('coefficients')).toList();
var e0 = ee.List(coefList4.get(0)).get(0);
var e1 = ee.List(coefList4.get(1)).get(0);
var e2 = ee.List(coefList4.get(2)).get(0);
var e3 = ee.List(coefList4.get(3)).get(0);
var e4 = ee.List(coefList4.get(4)).get(0);
var e5 = ee.List(coefList4.get(5)).get(0);
?
//选择波段,分别获取不同
var land0 = naip.select(['B3','B4','B5','B6','B7']).updateMask(result.eq(0)).multiply(0.0001)
var land1 = naip.select(['B3','B4','B5','B6','B7']).updateMask(result.eq(1)).multiply(0.0001)
var land2 = naip.select(['B3','B4','B5','B6','B7']).updateMask(result.eq(2)).multiply(0.0001)
var land3 = naip.select(['B3','B4','B5','B6','B7']).updateMask(result.eq(3)).multiply(0.0001)
var land4 = naip.select(['B3','B4','B5','B6','B7']).updateMask(result.eq(4)).multiply(0.0001)
?
//Landsat FPAR 估计
function FPAR0(land0) {
 var B3 = land0.select("B3");
 var B4 = land0.select("B4");
 var B5 = land0.select("B5");
 var B6 = land0.select("B6");
 var B7 = land0.select("B7");
?
//这里利用一景选择好的参数建立一个多源线性回归分析
 var fpar = land0.expression(
   "a0+(a1*B3)+(a2*B4)+(a3*B5)+(a4*B6)+(a5*B7)",
   {
     "B3": B3,
     "B4": B4,
     "B5": B5,
     "B6": B6,
     "B7": B7,
     "a0": ee.Number(a0),
     "a1": ee.Number(a1),
     "a2": ee.Number(a2),
     "a3": ee.Number(a3),
     "a4": ee.Number(a4),
     "a5": ee.Number(a5),
     
   }
 );
 return fpar;
}
function FPAR1(land1) {
 var B3 = land1.select("B3");
 var B4 = land1.select("B4");
 var B5 = land1.select("B5");
 var B6 = land1.select("B6");
 var B7 = land1.select("B7");
 var fpar = land1.expression(
   "b0+(b1*B3)+(b2*B4)+(b3*B5)+(b4*B6)+(b5*B7)",
   {
     "B3": B3,
     "B4": B4,
     "B5": B5,
     "B6": B6,
     "B7": B7,
     "b0": ee.Number(b0),
     "b1": ee.Number(b1),
     "b2": ee.Number(b2),
     "b3": ee.Number(b3),
     "b4": ee.Number(b4),
     "b5": ee.Number(b5),
     
   }
 );
 return fpar;
}
function FPAR2(land2) {
 var B3 = land2.select("B3");
 var B4 = land2.select("B4");
 var B5 = land2.select("B5");
 var B6 = land2.select("B6");
 var B7 = land2.select("B7");
 var fpar = land2.expression(
   "c0+(c1*B3)+(c2*B4)+(c3*B5)+(c4*B6)+(c5*B7)",
   {
     "B3": B3,
     "B4": B4,
     "B5": B5,
     "B6": B6,
     "B7": B7,
     "c0": ee.Number(c0),
     "c1": ee.Number(c1),
     "c2": ee.Number(c2),
     "c3": ee.Number(c3),
     "c4": ee.Number(c4),
     "c5": ee.Number(c5),
     
   }
 );
 return fpar;
}
function FPAR3(land3) {
 var B3 = land3.select("B3");
 var B4 = land3.select("B4");
 var B5 = land3.select("B5");
 var B6 = land3.select("B6");
 var B7 = land3.select("B7");
 var fpar = land3.expression(
   "d0+(d1*B3)+(d2*B4)+(d3*B5)+(d4*B6)+(d5*B7)",
   {
     "B3": B3,
     "B4": B4,
     "B5": B5,
     "B6": B6,
     "B7": B7,
     "d0": ee.Number(d0),
     "d1": ee.Number(d1),
     "d2": ee.Number(d2),
     "d3": ee.Number(d3),
     "d4": ee.Number(d4),
     "d5": ee.Number(d5),
     
   }
 );
 return fpar;
}
function FPAR4(land4) {
 var B3 = land4.select("B3");
 var B4 = land4.select("B4");
 var B5 = land4.select("B5");
 var B6 = land4.select("B6");
 var B7 = land4.select("B7");
 var fpar = land4.expression(
   "e0+(e1*B3)+(e2*B4)+(e3*B5)+(e4*B6)+(e5*B7)",
   {
     "B3": B3,
     "B4": B4,
     "B5": B5,
     "B6": B6,
     "B7": B7,
     "e0": ee.Number(e0),
     "e1": ee.Number(e1),
     "e2": ee.Number(e2),
     "e3": ee.Number(e3),
     "e4": ee.Number(e4),
     "e5": ee.Number(e5),
     
   }
 );
 return fpar;
}
?
//重命名
var fpar0 = FPAR0(land0).rename('fpar')
var fpar1 = FPAR1(land1).rename('fpar')
var fpar2 = FPAR2(land2).rename('fpar')
var fpar3 = FPAR3(land3).rename('fpar')
var fpar4 = FPAR4(land4).rename('fpar')
var visParam = {
 min: 0,
 max: 100,
 palette: 'FFFFFF, CE7E45, DF923D, F1B555, FCD163, 99B718, 74A901, 66A000, 529400,' +
   '3E8601, 207401, 056201, 004C00, 023B01, 012E01, 011D01, 011301'
};
?
//镶嵌五种土地覆盖类型
var mask = fpar0.mask().or(fpar1.mask()).or(fpar2.mask()).or(fpar3.mask()).or(fpar4.mask()); 
var baseImg = ee.Image.constant(0) 
                .updateMask(mask); 
var newImgA = baseImg.where(fpar0.mask(), fpar0); 
var newImgD = baseImg.where(fpar1.mask(), fpar1); 
var newImgB = baseImg.where(fpar2.mask(), fpar2);
var newImgC = baseImg.where(fpar3.mask(), fpar3);
var newImgE = baseImg.where(fpar4.mask(), fpar4); 
var union = newImgA.add(newImgB).add(newImgC).add(newImgD).add(newImgE);
?
//展示结果
var fpar = union.multiply(100).round().clip(roi)
Map.addLayer(fpar, visParam, "FPAR");
 

本文以MODIS FPAR产品为参考,开发了一种集成了离群点去除程序和MLR中样本加权方法的增强型比例尺方法,用于业务精细分辨率FPAR的估算。提出的基于加权MLR的增强型比例尺方法与GEE上的RFR方法进行了比较,在大关中地区应用于预测2020年9月至2021年8月一整年的Landsat FPAR图像。主要结论如下。

强化比例尺法和RFR法都产生了与MODIS一致的、空间上一致的精细分辨率FPAR。RFR方法高估了低FPAR值,低估了高FPAR值,而增强缩放法的表现优于RFR方法。特别是,在增强的缩放方法中,密集植被像素的高FPAR值被低估的情况明显改善。

强化比例尺法和RFR法都用原地FPAR测量值进行了验证。增强的缩放方法比RFR方法表现更好,特别是对于植被茂密的像素。RFR和增强型缩放方法的总体RMSE值分别为0.049和0.046,总体R2值为0.685和0.768。

增强的缩放方法对训练样本不太敏感,而RFR方法对训练样本的依赖程度较高。强化比例尺法更容易实现,只需一对MODIS-Landsat图像,在同质和异质像素上都比RFR法更准确。

?


数据引用:

Wang Y, Zhan Y, Yan G, et al. Generalized Fine-Resolution FPAR Estimation Using Google Earth Engine: Random Forest or Multiple Linear Regression[J]. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2022, 16: 918-929.

?GEE:基于不同光谱指数、地形特征等组合的多种机器学习方法实现土地分类(安第斯高原)

GEE:西非沿海地区脆弱性数据集(社会脆弱性、人口风险、以及贫困和适应能力)

GEE:使用MODIS数据(FVC/LAI/FAPAR/CWC)和随机森林方法完成全球生物量估算(含代码)

GEE初学者:如何快速找到正确学习GEE 的方法和网址,以及如何选择JavaScript和python?

GEE:geoBoundaries全球政治行政边界数据库是世界上每个国家的边界(即州、县)

关于我们

北京某某塑料板材有限公司

皇马娱乐塑料板材净化公司是一家集皇马注册,登录,开户,APP下载的耐力板,阳光板厂家,公司配置24小...

在线咨询在线咨询
咨询热线 020-88888888


返回顶部

平台注册入口