Assurance Santé

Author

TRA BI NENE OTHNIEL

quelle base de données est la bonne ?

importation de données

df <- read.csv("C:/Users/trabi/OneDrive/Bureau/Nouveau dossier (2)/Health_Insurance.csv", sep=",",dec=".")
head(df)
       age    sex      bmi smoker    region children   charges
1 21.00000   male 25.74500     no northeast        2  3279.869
2 36.97698 female 25.74416    yes southeast        3 21454.494
3 18.00000   male 30.03000     no southeast        1  1720.354
4 37.00000   male 30.67689     no northeast        3  6801.438
5 58.00000   male 32.01000     no southeast        1 11946.626
6 46.00000   male 26.62000     no southeast        1  7742.110
df_kenya <-read.csv("C:/Users/trabi/OneDrive/Bureau/Nouveau dossier (2)/medical_insurance_kenya.csv", sep=",",dec=".")
head(df_kenya, 4)
  Date_of_Birth Gender      BMI Smoker Alcoholic Number_of_Children
1    1979-10-22 Female 23.31956     No       Yes                  0
2    1982-12-12 Female 18.75613    Yes       Yes                  1
3    1955-08-10   Male 30.22841    Yes       Yes                  5
4    1959-01-07   Male 24.93367    Yes        No                  4
  Insurance_Charges Income       County                     Occupation
1              1131  69769 Taita-Taveta                          Nurse
2               500  55444        Nyeri               Teacher/Educator
3               263  51581      Kericho Doctor/Healthcare Professional
4               500  74084       Kiambu       Banker/Financial Analyst
  Marital_Status Health_Condition Hospital_Visits Previous_Insurance
1       Divorced             Fair               1                 No
2         Single             Poor               2                 No
3         Single             Fair               1                 No
4        Widowed        Excellent               1                 No
  Health_Monitoring_Devices Employer_Coverage Travel_Frequency
1                        No                No     Occasionally
2                       Yes                No       Frequently
3                        No                No       Frequently
4                        No                No     Occasionally
  Educational_Level Emergency_Contacts
1   Master's Degree                  4
2   Master's Degree                  2
3       High School                  1
4 Bachelor's Degree                  1

analyse des données

names(df_kenya)
 [1] "Date_of_Birth"             "Gender"                   
 [3] "BMI"                       "Smoker"                   
 [5] "Alcoholic"                 "Number_of_Children"       
 [7] "Insurance_Charges"         "Income"                   
 [9] "County"                    "Occupation"               
[11] "Marital_Status"            "Health_Condition"         
[13] "Hospital_Visits"           "Previous_Insurance"       
[15] "Health_Monitoring_Devices" "Employer_Coverage"        
[17] "Travel_Frequency"          "Educational_Level"        
[19] "Emergency_Contacts"       

df_kenya

L’IMC (bmi) dans une population suit une courbe gaussien. C’est le cas de la première base de données contrairement à la deuxième.

library(ggplot2)
ggplot(df,aes(x=bmi))+geom_histogram(col="blue",fill="red")

df

ggplot(df_kenya,aes(x=BMI))+geom_histogram(col="blue",fill="red")

l’impact des différentes variables si elles sont significatives

Traitement des variables qualitatives et régression de la charge sur toutes autres variables.

Un nombre d’étoiles élévé indique que la probabilité de rejetter l’hypothèes \(H_0\) est faible. Ce critère permet de choisir les variables pertinentes à introduire dans notre modèle de tarification

df$SEX<-model.matrix(~sex-1,data=df)
df$smoker<-model.matrix(~smoker-1,data=df)
df$region<-model.matrix(~region-1,data=df)
res<-lm(charges~age+bmi+ smoker+ region +children+
        SEX,data=df)
summary(res)

Call:
lm(formula = charges ~ age + bmi + smoker + region + children + 
    SEX, data = df)

Residuals:
     Min       1Q   Median       3Q      Max 
-17498.1  -2638.6   -993.4    766.0  30171.9 

Coefficients: (3 not defined because of singularities)
                        Estimate Std. Error t value Pr(>|t|)    
(Intercept)            12544.722    671.949  18.669  < 2e-16 ***
age                      241.211      8.026  30.052  < 2e-16 ***
bmi                      282.634     17.640  16.022  < 2e-16 ***
smokersmokerno        -22886.546    269.288 -84.989  < 2e-16 ***
smokersmokeryes               NA         NA      NA       NA    
regionregionnortheast   2297.430    279.517   8.219 2.82e-16 ***
regionregionnorthwest    196.729    278.410   0.707   0.4799    
regionregionsoutheast    440.997    267.672   1.648   0.0995 .  
regionregionsouthwest         NA         NA      NA       NA    
children                 547.455     57.554   9.512  < 2e-16 ***
SEXsexfemale           -1182.972    198.983  -5.945 3.02e-09 ***
SEXsexmale                    NA         NA      NA       NA    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5701 on 3621 degrees of freedom
Multiple R-squared:  0.7192,    Adjusted R-squared:  0.7186 
F-statistic:  1159 on 8 and 3621 DF,  p-value: < 2.2e-16

Pour toutes les courbes qui suivent, on fait la regression de charge sur une variable choisie pour observer le lien de corrélation avec les charges.

ggplot(df,aes(x=bmi,y=charges))+geom_point(col="red")+
  geom_smooth(method="lm",col="blue")

On note un équart qui s’explique par le fait c’est toutes les variables utilies qui doivent être utiser et non une seule

ggplot(df,aes(x=sort(bmi),y=sort(charges)))+geom_point(col="red")+
  geom_smooth(method="lm",col="blue")

On constate une explosion des charges de santé pour les personnes très âgées.

ggplot(df,aes(x=sort(age),y=sort(charges)))+geom_point(col="red")+
  geom_smooth(method="lm",col="blue")

df1<- read.csv("C:/Users/trabi/OneDrive/Bureau/Nouveau dossier (2)/Health_Insurance.csv", sep=",",dec=".")
ggplot(df1,aes(x=bmi,y=charges,color=sex))+geom_point()+
  geom_smooth(method="lm",col="blue")

ggplot(df1,aes(x=bmi,y=charges,color=region))+geom_point()+
  geom_smooth(method="lm",col="blue")

On a constate que la droite est attirée par les non fumeurs, ce qui indique que la régression est fait par les non fumeurs

ggplot(df1,aes(x=bmi,y=charges,color=smoker))+geom_point()+
  geom_smooth(method="lm",col="blue")