Metallicity compared between the predicted by the models and Rojas-Ayala and Neves. IRTF stars

Introduction

After the analysis carried out for M stars with GA strategy, we want to compare our estimations for metallicity both for IPAC and IRTF.

## [[1]]
## [1] TRUE
## 
## [[2]]
## [1] TRUE
## 
## [[3]]
## [1] TRUE
## 
## [[4]]
## [1] TRUE
## 
## [[5]]
## [1] TRUE
## 
## [[6]]
## [1] TRUE
## 
## [[7]]
## [1] TRUE
## 
## [[8]]
## [1] TRUE
## 
## [[9]]
## [1] TRUE
## 
## [[10]]
## [1] TRUE
## 
## [[11]]
## [1] TRUE
## 
## [[12]]
## [1] TRUE
## 
## [[13]]
## [1] TRUE
## 
## [[14]]
## [1] TRUE
## 
## [[15]]
## [1] TRUE
## 
## [[16]]
## [1] TRUE
## 
## [[17]]
## [1] TRUE
## 
## [[18]]
## [1] TRUE
## 
## [[19]]
## [1] TRUE
## 
## [[20]]
## [1] TRUE
## 
## [[21]]
## [1] TRUE
## 
## [[22]]
## [1] TRUE
## 
## [[23]]
## [1] TRUE
## 
## [[24]]
## [1] TRUE
## 
## [[25]]
## [1] TRUE
## 
## [[26]]
## [1] TRUE
## 
## [[27]]
## [1] TRUE
## 
## [[28]]
## [1] TRUE
## 
## [[29]]
## [1] TRUE
## 
## [[30]]
## [1] TRUE
## 
## [[31]]
## [1] TRUE
## 
## [[32]]
## [1] TRUE
## 
## [[33]]
## [1] TRUE
## 
## [[34]]
## [1] TRUE
## 
## [[35]]
## [1] TRUE
## 
## [[36]]
## [1] TRUE
## 
## [[37]]
## [1] TRUE

Caso de las estrellas IRTF

Lectura de Predicciones de Modelos

#
#
# Loading the predicted temperature
load("~/git/M_prep_IRTF/T_GA_models.RData")
nomT_IRTF=nomT
T_IRTF = dataT
load("~/git/M_prep_IRTF/LG_GA_models.RData")
nomG_IRTF=nomG
G_IRTF = dataG
load("~/git/M_prep_IRTF/M_GA_models.RData")
nomM_IRTF=nomM
M_IRTF = dataM
#
rm(list=c("dataT","nomT","dataG","nomG","dataM","nomM"))

Lectura de los datos de Neves

#
dNeves=read.table(file="~/git/M_prep_TEO/NevesIII-IRTF-final.tsv",sep="|",
                  header=FALSE,stringsAsFactors=FALSE)
dNevesM=dNeves[,c(1,19,18)]
colnames(dNevesM)=c("Name1","Name2","Fe/H")
dNevesM[,1]=str_replace(dNevesM[,1],'\\+','p')
dNevesM[,1]=str_replace(dNevesM[,1],' ','')
#
RA=read.table(file="~/git/M_prep_TEO/RA-IRTF-final.tsv",sep="|",
              header=FALSE,stringsAsFactors=FALSE)
RAf=RA[,c(1,5,18,19,22,23)]
colnames(RAf)=c("Name1","Name2","T","DT","Fe/H","DFe/H")
RAf[,1]=str_replace(RAf[,1],'\\+','p')
RAf[,1]=str_replace(RAf[,1],' ','')
dd=merge(dNevesM,RAf,by="Name1")
#

Comparando las estiamciones para Fe/H+ de ambos tenemos 7 de un total de 8 muestras compatibles. Es decir un 87.5 %. O lo que es lo mismo un 12.5 % que no es compatible entre si.

ComparaciĂ³n de los modelos con Neves III

#
extraeIRTF=function(x,nom,M) {
  tnm=as.character(x[2])
  tnm2=as.character(x[1])
  teo=x[3]
  ip=which(tnm==nom)
  ip2=which(tnm2==nom)
  fallo=NULL
  mul=NULL
  lst=NULL
  if (length(ip) > 0 | length(ip2) > 0) {
      if ( length(ip) > 0 ) i = ip[1]
      if ( length(ip2) > 0 ) i = ip2[1]      
      lst = c(tnm,teo,M[1,,i],M[3,,i],M[2,,i])
      names(lst) = c("Name","FeH",paste("M_",1:length(M[1,,1]),"_INF",sep=""),
                   paste("M_",1:length(M[1,,1]),"_50",sep=""),
                   paste("M_",1:length(M[1,,1]),"_10",sep=""))
      if ( length(ip) > 1 ) {
        mul=c(as.character(tnm),ip)
      }
  } else {
    fallo=as.character(tnm)
  }
  return(list(datos=lst,falta=fallo,varios=mul))
}
#
#
ref_tot2=apply(dNevesM,1,extraeIRTF,nomM_IRTF,M_IRTF)
datos=lapply(ref_tot2,function(x){if (length(x$datos) > 0) return(x$datos)})
pos=0
while(pos < length(datos)) {
  pos = pos + 1
  if (is.null(datos[[pos]])) {
    datos[[pos]]=NULL
  }
}
datos=ldply(datos,function(x){return(x)})
datos$BE=apply(datos[,3:26],1,function(x){return(median(as.numeric(x)))})
datos$FeH=as.numeric(datos$FeH)
nmod=c("RF","GB","SVR","NNR","KNN","MARS","PLS","Rule-Regression")
#
ggplot(data=datos) + 
         geom_point(aes(x=FeH,y=BE),size=3) +
         xlab("Theoretical Met [dex]") + ylab("Ensemble median [dex]") +
         theme_bw() + #  scale_colour_brewer(palette="Set1") +
         geom_abline(position="identity", colour="gray") # +

#         xlim(-1,0) + ylim(-1,0)   #+
#         guides(col=guide_legend(ncol=2))
#
txtj=c("INF","50","10")
for(i in 1:length(nmod)) {
  for (j in 1:length(txtj)) {
    datos$actual=as.numeric(datos[,(4+i)+(j-1)*length(nmod)])
    plot(ggplot(data=datos) + 
         geom_point(aes(x=FeH,y=actual),size=3) +
         xlab("Theoretical Met [dex]") + ylab(paste(nmod[i]," SNR=",txtj[j]," [dex]",sep="")) +
         theme_bw() + #  scale_colour_brewer(palette="Set1") +
         geom_abline(position="identity", colour="gray") 
         )
  }
}

#
datosN=datos
rm(datos)
#

ComparaciĂ³n de los modelos con Rojas y Ayala

#
delta=function(x,RA) {
  nm=which(RA[,1]==x[1])[1]
  if ( nm > 0 )
    return(RA[nm,2])
}
RAf[,2]=gsub(' ','',RAf[,2])
ref_tot2=apply(RAf[,c(1,2,5)],1,extraeIRTF,nomM_IRTF,M_IRTF)
datos=lapply(ref_tot2,function(x){if (length(x$datos) > 0) return(x$datos)})
pos=0
while(pos < length(datos)) {
  pos = pos + 1
  if (is.null(datos[[pos]])) {
    datos[[pos]]=NULL
  }
}
datos=ldply(datos,function(x){return(x)})
datos$BE=apply(datos[,3:26],1,function(x){return(median(as.numeric(x)))})
datos$FeH=as.numeric(datos$FeH)
nmod=c("RF","GB","SVR","NNR","KNN","MARS","PLS","Rule-Regression")
#
DFeH = apply(datos[,c(1,2)],1,delta,RAf[,c(2,6)])
ggplot(data=datos) + 
         geom_point(aes(x=FeH,y=BE),size=3) +
         xlab("Theoretical Met [dex]") + ylab("Ensemble median [dex]") +
         theme_bw() + #  scale_colour_brewer(palette="Set1") +
         geom_abline(position="identity", colour="gray") # +

#         xlim(-1,0) + ylim(-1,0)   #+
#         guides(col=guide_legend(ncol=2))
#
cat(paste("Modelo ENSEMBLE: NĂºmero de estrellas en tolerancia",sum(abs(datos$FeH-datos$BE) <= DFeH),
          "frente al total de",nrow(datos),sep=" "))

Modelo ENSEMBLE: NĂºmero de estrellas en tolerancia 2 frente al total de 15

txtj=c("INF","50","10")
for(i in 1:length(nmod)) {
  for (j in 1:length(txtj)) {
    datos$actual=as.numeric(datos[,(4+i)+(j-1)*length(nmod)])    
    cat(paste("Modelo",nmod[i],"SNR",txtj[j],": NĂºmero de estrellas en tolerancia",
              sum(abs(datos$FeH-datos$actual) <= DFeH),
          "frente al total de",nrow(datos),sep=" "))
    plot(ggplot(data=datos) + 
         geom_point(aes(x=FeH,y=actual),size=3) +
         xlab("Theoretical Met [dex]") + ylab(paste(nmod[i]," SNR=",txtj[j]," [dex]",sep="")) +
         theme_bw() + #  scale_colour_brewer(palette="Set1") +
         geom_abline(position="identity", colour="gray") 
         )
  }
}

Modelo RF SNR INF : NĂºmero de estrellas en tolerancia 2 frente al total de 15Modelo RF SNR 50 : NĂºmero de estrellas en tolerancia 6 frente al total de 15Modelo RF SNR 10 : NĂºmero de estrellas en tolerancia 6 frente al total de 15Modelo GB SNR INF : NĂºmero de estrellas en tolerancia 0 frente al total de 15Modelo GB SNR 50 : NĂºmero de estrellas en tolerancia 1 frente al total de 15Modelo GB SNR 10 : NĂºmero de estrellas en tolerancia 4 frente al total de 15Modelo SVR SNR INF : NĂºmero de estrellas en tolerancia 5 frente al total de 15Modelo SVR SNR 50 : NĂºmero de estrellas en tolerancia 5 frente al total de 15Modelo SVR SNR 10 : NĂºmero de estrellas en tolerancia 7 frente al total de 15Modelo NNR SNR INF : NĂºmero de estrellas en tolerancia 0 frente al total de 15Modelo NNR SNR 50 : NĂºmero de estrellas en tolerancia 1 frente al total de 15Modelo NNR SNR 10 : NĂºmero de estrellas en tolerancia 6 frente al total de 15Modelo KNN SNR INF : NĂºmero de estrellas en tolerancia 0 frente al total de 15Modelo KNN SNR 50 : NĂºmero de estrellas en tolerancia 0 frente al total de 15Modelo KNN SNR 10 : NĂºmero de estrellas en tolerancia 3 frente al total de 15Modelo MARS SNR INF : NĂºmero de estrellas en tolerancia 0 frente al total de 15Modelo MARS SNR 50 : NĂºmero de estrellas en tolerancia 5 frente al total de 15Modelo MARS SNR 10 : NĂºmero de estrellas en tolerancia 5 frente al total de 15Modelo PLS SNR INF : NĂºmero de estrellas en tolerancia 3 frente al total de 15Modelo PLS SNR 50 : NĂºmero de estrellas en tolerancia 7 frente al total de 15Modelo PLS SNR 10 : NĂºmero de estrellas en tolerancia 2 frente al total de 15Modelo Rule-Regression SNR INF : NĂºmero de estrellas en tolerancia 4 frente al total de 15Modelo Rule-Regression SNR 50 : NĂºmero de estrellas en tolerancia 5 frente al total de 15Modelo Rule-Regression SNR 10 : NĂºmero de estrellas en tolerancia 5 frente al total de 15

#