Use R: 画泰勒图 Taylor Diagram,模型比较一目了然

IPCC推荐的模型评价方法：

Since the SAR, Taylor (2000) has devised a very useful diagrammatic form (termed a “Taylor diagram” − see Section 8.5.1.2 for description) for conveying information about the pattern similarity between a model and observations. This same type of diagram can be used to illustrate the relative accuracy amongst a number of model variables or different observational data sets (see Section 8.5.1). One additional advantage of the “Taylor diagram” is that there is no restriction placed on the time or space domain considered.

Taylor对他的方法的几何原理详细论述见下面的pdf

Taylor_diagram_primer.pdf

Taylor Diagram Primer by Karl E. Taylor January 2005

Taylor diagrams (Taylor, 2001) provide a way of graphically summarizing how closely a pattern (or a set of patterns) matches observations

The similarity between two patterns is quantified in terms of：

(1) their correlation,

(2) their centered root-mean-square difference

and (3) the amplitude of their variations (represented by their standard deviations).

These diagrams are especially useful in evaluating multiple aspects of complex models or in gauging the relative skill of many different models (e.g., IPCC, 2001).

代码实现

https://rdrr.io/cran/plotrix/man/taylor.diagram.html

library(plotrix)# fake some reference data 参考值，即相当于观测值ref<-rnorm(30,sd=2)# add a little noise，相当于第一种模型的模拟值model1 <- ref+rnorm(30)/3# add more noise， 相当于第二种模型的模拟值model2 <- ref+rnorm(30)# add more noise， 相当于第三种模型的模拟值，误差更大model3 <- ref+rnorm(30)*1.5# 查看参考值（观测值）与我们自己创造的模拟值的散点图par(mfrow= c(1,3))plot(ref,model1, main='model 1', ylab='modelled values')plot(ref,model2, main='model 2')plot(ref,model3, main='model 2')# 画出泰勒图，进行模型比较par(mfrow= c(1,1))# display the diagram with the better modeloldpar<-taylor.diagram(ref,model1,sd.arcs=1)# now add the worse modeltaylor.diagram(ref,model2,add=TRUE,col="blue")# now add the worst modeltaylor.diagram(ref,model3,add=TRUE,col="green")# get approximate legend positionlpos<-1.5*sd(ref)# add a legendlegend(lpos,lpos, # 可以改变图例的位置       legend=c("Better","Worse", "Worst"),pch=19,col=c("red","blue", 'green'))

https://blog.sciencenet.cn/blog-526092-1254410.html

全部精选博文导读

GMT+8, 2023-12-10 02:05