Esempi di statistica descrittiva e inferenziale/Ricerca di esopianeti
Caricamento librerie
modifica library(dplyr)
library(ggplot2)
library(scales)
Parte 1: Dati
modificaIl Kepler Space Observatory è un satellite costruito dalla NASA lanciato nel 2009. Il telescopio è dedicato alla ricerca di esopianeti con sistemi stellari simili al nostro, in modo da trovare possibilmente altri pianeti abitabili come il nostro. La missione originale si è conclusa nel 2013 a causa di guasti meccanici, ma il telescopio è comunque funzionante dal 2014 su una missione estesa "K2".
Il dataset scaricabile da qui : https://www.kaggle.com/nasa/kepler-exoplanet-search-results contiene variabili relative a 9564 "oggetti di interesse" osservati da Kepler che potrebbero essere esopianeti candidati .
Le variabili prese in considerazione sono:
- kepoi_name: Nome di un oggetto astrofisico identificato da Kepler che sembra coerente con un'ipotesi di transito planetario
- kepler_name: Nomi di oggetti astrofisici che si considerano confermati o convalidati come pianeti, un passo avanti rispetto alla designazione di pianeta candidato .
- koi_disposition: la valutazione in letteratura verso questo esopianeta candidato che può assumere i valori CANDIDATO, FALSO POSITIVO o CONFERMATO.
- koi_pdisposition: la valutazione che Kepler da nei confronti di questo esopianeta candidato che può assumere i valori FALSO POSITIVO o CANDIDATO.
- koi_score: un valore compreso tra 0 e 1 che indica il livello di fiducia nella valutazione data da Kepler. Per i CANDIDATI, un valore più alto indica più fiducia nella sua valutazione, mentre per i FALSI POSITIVI, un valore più alto indica meno fiducia in quella valutazione.
Caricamento dati:
cumulative <- read.csv("cumulative.csv" , stringsAsFactors = TRUE)
Traduzione in italiano delle variabili di interesse:
df <-cumulative[,c(4,5,6,7)]
dimnames(df)[2] <- list(c("nome_esopianeta","valutazione_letteratura","valutazione_Kepler","punteggio"))
Parte 2 : Esplorazione dati
modificaCome si vede dalla funzione dim gli oggetti astrofisici contenuti nel dataset sono 9564
dim(df)
[1] 9564 4
Come si vede dalla funzione Summary dei 9564 oggetti soltanto 2289 hanno un nome che inizia con Kepler, poi si vedono i totali considerati Candidate, Confirmed o False Positive in letteratura e i totali di candidate e false positive considerati da Kepler e il punteggio che assume valori tra 0 e 1 con una mediana di 0,33 e una media di 0,48.
summary(df)
nome_esopianeta valutazione_letteratura :7270 CANDIDATE :2248 Kepler-1 b : 1 CONFIRMED :2293 Kepler-10 b : 1 FALSE POSITIVE:5023 Kepler-10 c : 1 Kepler-100 b: 1 Kepler-100 c: 1 (Other) :2289 valutazione_Kepler punteggio CANDIDATE :4496 Min. :0.0000 FALSE POSITIVE:5068 1st Qu.:0.0000 Median :0.3340 Mean :0.4808 3rd Qu.:0.9980 Max. :1.0000 NA's :1510
Dal seguente grafico si vede che gli oggetti considerati da Kepler candidati ad essere esopianeti sono in letteratura per metà considerati candidati e per metà confermati. Mentre gli oggetti considerati falsi positivi da Kepler sono considerati per la quasi totalità falsi positivi in letteratura ma una minima parte considerata confermata ad essere esopianeti in letteratura è considerata falso positivo da Kepler :
df %>%
ggplot(aes(valutazione_Kepler,fill=valutazione_letteratura)) +
geom_bar(aes(y=(..count../sum(..count..))))+
scale_y_continuous(labels = percent_format())+
ylab("Percentuale di esopianeti") +
xlab("Giudizio di Kepler ") +
ggtitle("Percentuale di esopianeti secondo Kepler e la letteratura")
Calcolo totale e percentuale di candidati in letteratura e candidati per Kepler :
df %>%
filter(valutazione_letteratura=="CANDIDATE",valutazione_Kepler=="CANDIDATE") %>%
summarise(totale=n(), percentuale=totale*100/nrow(cumulative))
totale percentuale 2248 23.50481
Calcolo totale e percentuale di confermati in letteratura e candidati per Kepler :
df %>%
filter(valutazione_letteratura=="CONFIRMED",valutazione_Kepler=="CANDIDATE") %>%
summarise(totale=n(), percentuale=totale*100/nrow(cumulative))
totale percentuale 2248 23.50481
df %>%
filter(nome_esopianeta!="",valutazione_letteratura=="CONFIRMED",valutazione_Kepler=="CANDIDATE") %>%
select(nome_esopianeta,valutazione_letteratura,valutazione_Kepler,punteggio) %>%
head()
nome_esopianeta valutazione_letteratura valutazione_Kepler punteggio 1 Kepler-227 b CONFIRMED CANDIDATE 1.000 2 Kepler-227 c CONFIRMED CANDIDATE 0.969 5 Kepler-664 b CONFIRMED CANDIDATE 1.000 6 Kepler-228 d CONFIRMED CANDIDATE 1.000 7 Kepler-228 c CONFIRMED CANDIDATE 1.000 8 Kepler-228 b CONFIRMED CANDIDATE 0.992
Calcolo totale e percentuale di falsi positivi in letteratura e falsi positivi per Kepler :
df %>%
filter(valutazione_Kepler=="FALSE POSITIVE",valutazione_letteratura=="FALSE POSITIVE") %>%
summarise(totale=n(), percentuale=totale*100/nrow(cumulative))
totale percentuale 5023 52.51987
Calcolo totale e percentuale di confermati in letteratura e falsi positivi per Kepler :
df %>%
filter(valutazione_letteratura=="CONFIRMED",valutazione_Kepler=="FALSE POSITIVE") %>%
summarise(totale=n(), percentuale=totale*100/nrow(cumulative))
totale percentuale 45 0.4705144
df %>%
filter(nome_esopianeta!="",valutazione_letteratura=="CONFIRMED",valutazione_Kepler=="FALSE POSITIVE") %>%
select(nome_esopianeta,valutazione_letteratura,valutazione_Kepler,punteggio) %>%
head()
nome_esopianeta valutazione_letteratura valutazione_Kepler punteggio 219 Kepler-247 d CONFIRMED FALSE POSITIVE 0.000 235 Kepler-110 b CONFIRMED FALSE POSITIVE 0.415 651 Kepler-42 c CONFIRMED FALSE POSITIVE 0.000 676 Kepler-56 b CONFIRMED FALSE POSITIVE 0.098 756 Kepler-420 b CONFIRMED FALSE POSITIVE 0.117 774 Kepler-854 b CONFIRMED FALSE POSITIVE 0.041
Conclusioni
modificaCi sono ben 2248 oggetti astrofisici pari al 23,50% confermati in letteratura e candidati per Kepler ad essere esopianeti e 45 oggetti astrofisici pari allo 0,47% confermati in letteratura ad essere esopianeti ma falsi positivi per Kepler.