<jupyter_start><jupyter_text>Etude de plusieurs facteurs environnementaux sur la production dans les hôpitaux<jupyter_code># importation des packages
import os 
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import statsmodels.api as sm
VAR_CTRL = pd.read_csv('https://raw.githubusercontent.com/VincianeDesbois/Hopitaux_Production/main/Variables_controle.csv',  sep = ',')
VAR_EXPL_CAT  = pd.read_csv('https://raw.githubusercontent.com/VincianeDesbois/Hopitaux_Production/main/VAR_EXPL_CAT.csv',  sep = ',')
VAR_EXPL_CAT<jupyter_output><empty_output><jupyter_text>Première analyse sur l'effet du revenu fiscal moyen sur les points ISA<jupyter_code>VAR_EXPL_CAT_1 = VAR_EXPL_CAT[['Numero_finess', 'Personnel médical','STJR_1','STJR_2', 'STJR_3',
       'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers',
        'Internes']]
VAR_EXPL_CAT_1= VAR_EXPL_CAT_1.fillna(0)
VAR_EXPL_CAT_1
VAR_EXPL_CAT_1 = VAR_EXPL_CAT_1.apply(lambda x: x+1 if x.name in ['Personnel médical',
       'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers',
        'Internes'] else x)


VAR_EXPL_CAT_1 = VAR_EXPL_CAT_1.apply(lambda x: np.log(x) if x.name in ['Personnel médical',
       'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers',
        'Internes'] else x)
VAR_EXPL_CAT_1
VAR_CTRL.columns
#Je prends Cpaital_LIT_MCO et Capital_Bloc
VAR_CTRL_1 = VAR_CTRL.copy()
VAR_CTRL_1 = VAR_CTRL_1.fillna(0)
VAR_CTRL_1 = VAR_CTRL_1.apply(lambda x: x+1 if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)

VAR_CTRL_1 = VAR_CTRL_1.apply(lambda x: np.log(x) if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)
VAR_CTRL.describe()<jupyter_output><empty_output><jupyter_text>Le premier quartile des revenus fiscaux moyens par mois est à 9471, et le troisième quartile à 11536. On sépare en deux bases : celles avec les départements avec les plus faibles revenus, et celles avec les départements avec les plus hauts revenus.<jupyter_code># Les établissements avec des revenus départements  trés élevés

VAR_CTRL_ELEVES = VAR_CTRL_1.copy()
VAR_CTRL_ELEVES= VAR_CTRL_ELEVES.rename(columns = {'Moyenne Revenus Fiscaux Départementaux': 'Rev_dep'})

VAR_CTRL_ELEVES= VAR_CTRL_ELEVES[VAR_CTRL_ELEVES.Rev_dep > 10239]
# Les établissements avec des revenus départements trésfaibles

VAR_CTRL_FAIBLES = VAR_CTRL_1.copy()
VAR_CTRL_FAIBLES = VAR_CTRL_FAIBLES.rename(columns = {'<NAME>': 'Rev_dep'})

VAR_CTRL_FAIBLES = VAR_CTRL_FAIBLES[VAR_CTRL_FAIBLES.Rev_dep <= 10239]
VAR_CTRL_FAIBLES<jupyter_output><empty_output><jupyter_text>VAR_CTRL_FAIBLES= VAR_CTRL_FAIBLES.fillna(0)VAR_CTRL_ELEVES= VAR_CTRL_ELEVES.fillna(0)VAR_EXPL_CAT_1= VAR_EXPL_CAT_1.fillna(0)<jupyter_code>analyse_dep_faibles = pd.merge(VAR_CTRL_FAIBLES, VAR_EXPL_CAT_1)

analyse_dep_eleves = pd.merge(VAR_CTRL_ELEVES, VAR_EXPL_CAT_1)
analyse_dep_faibles.columns
analyse_dep_faibles_X =analyse_dep_faibles[["Personnel médical","Internes",'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers', 
        'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie', 'Population',
       'Capital_Examens_biologiques', 'Capital_telemed', 'STJR_1', 'STJR_2', 'STJR_3']]
analyse_dep_faibles_Y =analyse_dep_faibles[['Points_ISA']]
analyse_dep_eleves_X =analyse_dep_eleves[["Personnel médical","Internes",'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers', 
       'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie', 'Population',
       'Capital_Examens_biologiques', 'Capital_telemed', 'STJR_1', 'STJR_2', 'STJR_3']]
analyse_dep_eleves_Y =analyse_dep_eleves[['Points_ISA']]
analyse_dep_faibles_X 
analyse_dep_faibles_X = sm.add_constant(analyse_dep_faibles_X) # on ajoute une constante, sinon la régression se fait sans, par défaut
y = analyse_dep_faibles[['Points_ISA']]

model_dep_faibles = sm.OLS(y, analyse_dep_faibles_X)
results_dep_faibles = model_dep_faibles.fit()
print(results_dep_faibles.summary())
analyse_dep_eleves_X = sm.add_constant(analyse_dep_eleves_X) # on ajoute une constante, sinon la régression se fait sans, par défaut
y = analyse_dep_eleves[['Points_ISA']]

model_dep_eleves = sm.OLS(y, analyse_dep_eleves_X)
results_dep_eleves = model_dep_eleves.fit()
print(results_dep_eleves.summary())<jupyter_output>OLS Regression Results                            
==============================================================================
Dep. Variable:             Points_ISA   R-squared:                       0.886
Model:                            OLS   Adj. R-squared:                  0.883
Method:                 Least Squares   F-statistic:                     289.2
Date:                Wed, 19 May 2021   Prob (F-statistic):          5.20e-251
Time:                        15:35:23   Log-Likelihood:                -508.39
No. Observations:                 572   AIC:                             1049.
Df Residuals:                     556   BIC:                             1118.
Df Model:                          15                                         
Covariance Type:            nonrobust                                         
=============================================================================================================
                     [...]<jupyter_text>Deuxième analyse : effet de la moyenne des salaires des cadres sur l'emploi de personnel médical libéral<jupyter_code>VAR_EXPL_CAT_2 = VAR_EXPL_CAT.copy()
VAR_EXPL_CAT_2['Personnel médical salarié'] = VAR_EXPL_CAT['Médecins salariés'] + VAR_EXPL_CAT["Autres personnels médicaux salariés"]
VAR_EXPL_CAT_2['Personnel médical libéral'] = VAR_EXPL_CAT['Médecins libéraux'] + VAR_EXPL_CAT["Autres personnels médicaux libéraux"]
VAR_EXPL_CAT_2 = VAR_EXPL_CAT_2[['Numero_finess', 'Personnel médical salarié','Personnel médical libéral','STJR_1', 'STJR_2', 'STJR_3',
       'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers',
        'Internes']]
VAR_EXPL_CAT_2
VAR_EXPL_CAT_2 = VAR_EXPL_CAT_2.fillna(0)

VAR_EXPL_CAT_2 = VAR_EXPL_CAT_2.apply(lambda x: x+1 if x.name in ['Personnel médical salarié','Personnel médical libéral',
       'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers',
        'Internes'] else x)

VAR_EXPL_CAT_2 = VAR_EXPL_CAT_2.apply(lambda x: np.log(x) if x.name in ['Personnel médical salarié','Personnel médical libéral',
       'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers',
        'Internes'] else x)

VAR_CTRL.describe()<jupyter_output><empty_output><jupyter_text>On garde les 25% d'hopitaux avec les salaires horaires des cadres les plus bas (22.083750)<jupyter_code>VAR_CTRL_2 = VAR_CTRL.copy()

VAR_CTRL_2 = VAR_CTRL_2.fillna(0)
VAR_CTRL_2 = VAR_CTRL_2.apply(lambda x: x+1 if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)

VAR_CTRL_2 = VAR_CTRL_2.apply(lambda x: np.log(x) if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)

# Les établissements avec des revenus départements  trés élevés

VAR_CTRL_ELEVES_2 = VAR_CTRL_2.copy()
VAR_CTRL_ELEVES_2= VAR_CTRL_ELEVES_2.rename(columns = {'Dep Moyenne Salaires Cadre Horaires': 'sal_cadre_moyen'})

VAR_CTRL_ELEVES_2= VAR_CTRL_ELEVES_2[VAR_CTRL_ELEVES_2.sal_cadre_moyen >= 21.280808]
# Les établissements avec des revenus départements trésfaibles

VAR_CTRL_FAIBLES_2 = VAR_CTRL_2.copy()
VAR_CTRL_FAIBLES_2 = VAR_CTRL_FAIBLES_2.rename(columns = {'Dep Moyenne Salaires Cadre Horaires': 'sal_cadre_moyen'})

VAR_CTRL_FAIBLES_2 = VAR_CTRL_FAIBLES_2[VAR_CTRL_FAIBLES_2.sal_cadre_moyen <= 21.280808]<jupyter_output><empty_output><jupyter_text>VAR_CTRL_FAIBLES_2= VAR_CTRL_FAIBLES_2.fillna(0)VAR_CTRL_ELEVES_2= VAR_CTRL_ELEVES_2.fillna(0)VAR_EXPL_CAT_2 = VAR_EXPL_CAT_2.fillna(0)stjr_1 = stjr_1.fillna(0)<jupyter_code>analyse_sal_faibles = pd.merge(VAR_CTRL_FAIBLES_2, VAR_EXPL_CAT_2)

analyse_sal_eleves = pd.merge(VAR_CTRL_ELEVES_2, VAR_EXPL_CAT_2)
analyse_sal_faibles_X =analyse_sal_faibles[["Personnel médical salarié",'Personnel médical libéral',"Internes",'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers', 
        'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie', 'Population',
       'Capital_Examens_biologiques', 'Capital_telemed', 'STJR_1','STJR_2','STJR_3']]
analyse_sal_faibles_Y =analyse_sal_faibles[['Points_ISA']]
analyse_sal_eleves_X =analyse_sal_eleves[["Personnel médical salarié",'Personnel médical libéral',"Internes",'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers', 
       'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie', 'Population',
       'Capital_Examens_biologiques', 'Capital_telemed', 'STJR_1','STJR_2','STJR_3']]
analyse_dep_eleves_Y =analyse_sal_eleves[['Points_ISA']]
analyse_sal_faibles_X = sm.add_constant(analyse_sal_faibles_X) # on ajoute une constante, sinon la régression se fait sans, par défaut
y = analyse_sal_faibles[['Points_ISA']]

model_sal_faibles = sm.OLS(y, analyse_sal_faibles_X)
results_sal_faibles = model_sal_faibles.fit()
print(results_sal_faibles.summary())
analyse_sal_eleves_X = sm.add_constant(analyse_sal_eleves_X) # on ajoute une constante, sinon la régression se fait sans, par défaut
y = analyse_sal_eleves[['Points_ISA']]

model_sal_eleves = sm.OLS(y, analyse_sal_eleves_X)
results_sal_eleves = model_sal_eleves.fit()
print(results_sal_eleves.summary())<jupyter_output>OLS Regression Results                            
==============================================================================
Dep. Variable:             Points_ISA   R-squared:                       0.891
Model:                            OLS   Adj. R-squared:                  0.888
Method:                 Least Squares   F-statistic:                     298.4
Date:                Wed, 19 May 2021   Prob (F-statistic):          2.84e-268
Time:                        15:35:24   Log-Likelihood:                -509.70
No. Observations:                 600   AIC:                             1053.
Df Residuals:                     583   BIC:                             1128.
Df Model:                          16                                         
Covariance Type:            nonrobust                                         
=============================================================================================================
                     [...]<jupyter_text>Troisième analyse : effet du salaire moyen département des employés sur la participation des personnels des services de soins et des services techniques<jupyter_code>VAR_EXPL_CAT_3 = VAR_EXPL_CAT.copy()
VAR_EXPL_CAT_3['Personnel médical salarié'] = VAR_EXPL_CAT_3['Médecins salariés'] + VAR_EXPL_CAT_3["Autres personnels médicaux salariés"]
VAR_EXPL_CAT_3['Personnel médical libéral'] = VAR_EXPL_CAT_3['Médecins libéraux'] + VAR_EXPL_CAT_3["Autres personnels médicaux libéraux"]
VAR_EXPL_CAT_3 = VAR_EXPL_CAT_3[['Numero_finess', 'Personnel médical salarié','Personnel médical libéral','stjr',
       'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers',
        'Internes', 'STJR_1','STJR_2','STJR_3']]
VAR_EXPL_CAT_3 = VAR_EXPL_CAT_3.fillna(0)

VAR_EXPL_CAT_3 = VAR_EXPL_CAT_3.apply(lambda x: x+1 if x.name in ['Personnel médical salarié','Personnel médical libéral',
       'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers',
        'Internes'] else x)

VAR_EXPL_CAT_3 = VAR_EXPL_CAT_3.apply(lambda x: np.log(x) if x.name in ['Personnel médical salarié','Personnel médical libéral',
       'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers',
        'Internes'] else x)
VAR_CTRL.describe()
VAR_CTRL_3 = VAR_CTRL.copy()
VAR_CTRL_3= VAR_CTRL_3.fillna(0)
VAR_CTRL_3 = VAR_CTRL_3.apply(lambda x: x+1 if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)

VAR_CTRL_3 = VAR_CTRL_3.apply(lambda x: np.log(x) if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)<jupyter_output><empty_output><jupyter_text>On garde les 25% d'hopitaux avec les salaires horaires des employés les plus bas (8.848113)<jupyter_code># Les établissements avec des revenus départements  trés élevés

VAR_CTRL_ELEVES_3 = VAR_CTRL_3.copy()
VAR_CTRL_ELEVES_3= VAR_CTRL_ELEVES_3.rename(columns = {'Dep Moyenne Salaires Employé Horaires': 'sal_employes_moyen'})

VAR_CTRL_ELEVES_3= VAR_CTRL_ELEVES_3[VAR_CTRL_ELEVES_3.sal_employes_moyen > 8.700862]
# Les établissements avec des revenus départements trésfaibles

VAR_CTRL_FAIBLES_3 = VAR_CTRL_3.copy()
VAR_CTRL_FAIBLES_3 = VAR_CTRL_FAIBLES_3.rename(columns = {'Dep Moyenne Salaires Employé Horaires': 'sal_employe_moyen'})

VAR_CTRL_FAIBLES_3 = VAR_CTRL_FAIBLES_3[VAR_CTRL_FAIBLES_3.sal_employe_moyen <= 8.700862]<jupyter_output><empty_output><jupyter_text>VAR_CTRL_FAIBLES_3= VAR_CTRL_FAIBLES_3.fillna(0)VAR_CTRL_ELEVES_3= VAR_CTRL_ELEVES_3.fillna(0)VAR_EXPL_CAT_3 = VAR_EXPL_CAT_3.fillna(0)stjr_1 = stjr_1.fillna(0)<jupyter_code>analyse_sal_faibles_3 = pd.merge(VAR_CTRL_FAIBLES_3, VAR_EXPL_CAT_3)

analyse_sal_eleves_3 = pd.merge(VAR_CTRL_ELEVES_3, VAR_EXPL_CAT_3)
analyse_sal_faibles_X_3 =analyse_sal_faibles_3[["Personnel médical salarié",'Personnel médical libéral',"Internes",'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers', 
        'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie', 'Population',
       'Capital_Examens_biologiques', 'Capital_telemed', 'STJR_1','STJR_2','STJR_3']]
analyse_sal_faibles_Y_3 =analyse_sal_faibles_3[['Points_ISA']]
analyse_sal_eleves_X_3 =analyse_sal_eleves_3[["Personnel médical salarié",'Personnel médical libéral',"Internes",'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers', 
       'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie', 'Population',
       'Capital_Examens_biologiques', 'Capital_telemed', 'STJR_1','STJR_2','STJR_3']]
analyse_dep_eleves_Y_3=analyse_sal_eleves_3[['Points_ISA']]
analyse_sal_faibles_X_3
analyse_sal_faibles_X_3 = sm.add_constant(analyse_sal_faibles_X_3) # on ajoute une constante, sinon la régression se fait sans, par défaut
y = analyse_sal_faibles_3[['Points_ISA']]

model_sal_faibles_3 = sm.OLS(y, analyse_sal_faibles_X_3)
results_sal_faibles_3 = model_sal_faibles.fit()
print(results_sal_faibles_3.summary())
analyse_sal_eleves_X_3 = sm.add_constant(analyse_sal_eleves_X_3) # on ajoute une constante, sinon la régression se fait sans, par défaut
y = analyse_sal_eleves_3[['Points_ISA']]

model_sal_eleves_3 = sm.OLS(y, analyse_sal_eleves_X_3)
results_sal_eleves_3 = model_sal_eleves.fit()
print(results_sal_eleves_3.summary())<jupyter_output>OLS Regression Results                            
==============================================================================
Dep. Variable:             Points_ISA   R-squared:                       0.891
Model:                            OLS   Adj. R-squared:                  0.888
Method:                 Least Squares   F-statistic:                     298.4
Date:                Wed, 19 May 2021   Prob (F-statistic):          2.84e-268
Time:                        15:35:24   Log-Likelihood:                -509.70
No. Observations:                 600   AIC:                             1053.
Df Residuals:                     583   BIC:                             1128.
Df Model:                          16                                         
Covariance Type:            nonrobust                                         
=============================================================================================================
                     [...]<jupyter_text>Taille des villes : est ce la participation aux Points-ISA est la même dans les grandes et petites villes? On prend les 25% des villes avec le moins d'ahbitants, par rapport aux 25% des villes avec le plus d'habitants<jupyter_code>VAR_EXPL_CAT_4 = VAR_EXPL_CAT.copy()
VAR_EXPL_CAT_4 = VAR_EXPL_CAT_4[['Numero_finess', 'Personnel médical',
       'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers',
        'Internes', 'STJR_1','STJR_2','STJR_3']]
VAR_EXPL_CAT_4= VAR_EXPL_CAT_4.fillna(0)

VAR_EXPL_CAT_4 = VAR_EXPL_CAT_4.apply(lambda x: x+1 if x.name in ['Personnel médical',
       'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers',
        'Internes'] else x)

VAR_EXPL_CAT_4 = VAR_EXPL_CAT_4.apply(lambda x: np.log(x) if x.name in ['Personnel médical',
       'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers',
        'Internes'] else x)
VAR_CTRL.describe()<jupyter_output><empty_output><jupyter_text>Les 25% des villes avec le moins d'habitants ont une population inférieure 8.055250e+03, tandis que les 25% des vilels avec le plus d'habitants, ont plus de 6.227500e+04 habitants<jupyter_code>VAR_CTRL_4 = VAR_CTRL.copy()
VAR_CTRL_4= VAR_CTRL_4.fillna(0)
# Les établissements avec des revenus départements  trés élevés

VAR_CTRL_ELEVES_4 = VAR_CTRL_4.copy()

VAR_CTRL_ELEVES_4= VAR_CTRL_ELEVES_4[VAR_CTRL_ELEVES_4.Population >= 2.295500e+04]
VAR_CTRL_ELEVES_4 = VAR_CTRL_ELEVES_4.apply(lambda x: x+1 if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)

VAR_CTRL_ELEVES_4 = VAR_CTRL_ELEVES_4.apply(lambda x: np.log(x) if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)
# Les établissements avec des revenus départements trésfaibles

VAR_CTRL_FAIBLES_4 = VAR_CTRL_4.copy()
VAR_CTRL_FAIBLES_4 = VAR_CTRL_FAIBLES_4[VAR_CTRL_FAIBLES_4.Population <= 2.295500e+04]
VAR_CTRL_FAIBLES_4 = VAR_CTRL_FAIBLES_4.apply(lambda x: x+1 if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)


VAR_CTRL_FAIBLES_4 = VAR_CTRL_FAIBLES_4.apply(lambda x: np.log(x) if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)<jupyter_output><empty_output><jupyter_text>VAR_CTRL_FAIBLES_4= VAR_CTRL_FAIBLES_4.fillna(0)VAR_CTRL_ELEVES_4= VAR_CTRL_ELEVES_4.fillna(0)VAR_EXPL_CAT_4 = VAR_EXPL_CAT_4.fillna(0)stjr_1 = stjr_1.fillna(0)<jupyter_code>analyse_pop_faibles_4 = pd.merge(VAR_CTRL_FAIBLES_4, VAR_EXPL_CAT_4)

analyse_pop_eleves_4 = pd.merge(VAR_CTRL_ELEVES_4, VAR_EXPL_CAT_4)
analyse_pop_eleves_4 
analyse_pop_faibles_X_4 =analyse_pop_faibles_4[["Personnel médical","Internes",'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers', 
        'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'STJR_1','STJR_2','STJR_3',]]
analyse_pop_faibles_Y_4 =analyse_pop_faibles_4[['Points_ISA']]
analyse_pop_eleves_X_4 =analyse_pop_eleves_4[["Personnel médical","Internes",'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers', 
       'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'STJR_1','STJR_2','STJR_3',]]
analyse_pop_eleves_Y_4=analyse_pop_eleves_4[['Points_ISA']]
analyse_pop_faibles_X_4 = sm.add_constant(analyse_pop_faibles_X_4) # on ajoute une constante, sinon la régression se fait sans, par défaut
y = analyse_pop_faibles_4[['Points_ISA']]

model_pop_faibles_4 = sm.OLS(y, analyse_pop_faibles_X_4)
results_pop_faibles_4 = model_pop_faibles_4.fit()
print(results_pop_faibles_4.summary())
analyse_pop_eleves_X_4 = sm.add_constant(analyse_pop_eleves_X_4) # on ajoute une constante, sinon la régression se fait sans, par défaut
y = analyse_pop_eleves_4[['Points_ISA']]

model_pop_eleves_4 = sm.OLS(y, analyse_pop_eleves_X_4)
results_pop_eleves_4 = model_pop_eleves_4.fit()
print(results_pop_eleves_4.summary())<jupyter_output>OLS Regression Results                            
==============================================================================
Dep. Variable:             Points_ISA   R-squared:                       0.902
Model:                            OLS   Adj. R-squared:                  0.899
Method:                 Least Squares   F-statistic:                     366.5
Date:                Wed, 19 May 2021   Prob (F-statistic):          8.41e-271
Time:                        15:35:25   Log-Likelihood:                -410.70
No. Observations:                 574   AIC:                             851.4
Df Residuals:                     559   BIC:                             916.7
Df Model:                          14                                         
Covariance Type:            nonrobust                                         
=============================================================================================================
                     [...]<jupyter_text>En fonction de la majoritée politique du département<jupyter_code>VAR_EXPL_CAT_5 = VAR_EXPL_CAT.copy()
VAR_EXPL_CAT_5 = VAR_EXPL_CAT_5[['Numero_finess', 'Personnel médical','STJR_1','STJR_2','STJR_3',
       'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers',
        'Internes']]
VAR_EXPL_CAT_5 = VAR_EXPL_CAT_5.fillna(0)
VAR_EXPL_CAT_5 = VAR_EXPL_CAT_5.apply(lambda x: x+1 if x.name in ['Personnel médical',
       'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers',
        'Internes'] else x)


VAR_EXPL_CAT_5 = VAR_EXPL_CAT_5.apply(lambda x: np.log(x) if x.name in ['Personnel médical',
       'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers',
        'Internes'] else x)
VAR_CTRL.groupby("Bloc_politique").count()
# Les établissements avec des revenus départements  trés élevés

VAR_CTRL_GAUCHE_5 = VAR_CTRL.copy()
VAR_CTRL_GAUCHE_5= VAR_CTRL_GAUCHE_5.fillna(0)

VAR_CTRL_GAUCHE_5 = VAR_CTRL_GAUCHE_5.apply(lambda x: x+1 if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)

VAR_CTRL_GAUCHE_5 = VAR_CTRL_GAUCHE_5.apply(lambda x: np.log(x) if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)

VAR_CTRL_GAUCHE_5_1= VAR_CTRL_GAUCHE_5[VAR_CTRL_GAUCHE_5.Bloc_politique == "Centre gauche à centre droit"]
VAR_CTRL_GAUCHE_5_2 = VAR_CTRL_GAUCHE_5[VAR_CTRL_GAUCHE_5.Bloc_politique == "Extrême gauche à gauche"]
VAR_CTRL_GAUCHE_5 = pd.concat([VAR_CTRL_GAUCHE_5_1,VAR_CTRL_GAUCHE_5_2])
VAR_CTRL_DROITE_5 = VAR_CTRL.copy()

VAR_CTRL_DROITE_5= VAR_CTRL_DROITE_5.fillna(0)
VAR_CTRL_DROITE_5 = VAR_CTRL_DROITE_5.apply(lambda x: x+1 if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)

VAR_CTRL_DROITE_5 = VAR_CTRL_DROITE_5.apply(lambda x: np.log(x) if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)


VAR_CTRL_DROITE_5_1= VAR_CTRL_DROITE_5[VAR_CTRL_DROITE_5.Bloc_politique == "Centre droit à droite"]
VAR_CTRL_DROITE_5_2 = VAR_CTRL_DROITE_5[VAR_CTRL_DROITE_5.Bloc_politique == "Droite à extrême droite"]
VAR_CTRL_DROITE_5 = pd.concat([VAR_CTRL_DROITE_5_1,VAR_CTRL_DROITE_5_2])<jupyter_output><empty_output><jupyter_text>VAR_CTRL_DROITE_5= VAR_CTRL_DROITE_5.fillna(0)VAR_CTRL_GAUCHE_5 = VAR_CTRL_GAUCHE_5.fillna(0)VAR_EXPL_CAT_5 = VAR_EXPL_CAT_5.fillna(0)stjr_1 = stjr_1.fillna(0)<jupyter_code>analyse_dep_gauche_5 = pd.merge(VAR_CTRL_GAUCHE_5, VAR_EXPL_CAT_5)

analyse_dep_droite_5 = pd.merge(VAR_CTRL_DROITE_5, VAR_EXPL_CAT_5)
analyse_dep_gauche_X_5 =analyse_dep_gauche_5[["Personnel médical","Internes",'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers', 
        'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'STJR_1', 'STJR_2','STJR_3']]
analyse_dep_gauche_Y_5 =analyse_dep_gauche_5[['Points_ISA']]
analyse_dep_droite_X_5 =analyse_dep_droite_5[["Personnel médical","Internes",'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers', 
       'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'STJR_1', 'STJR_2','STJR_3']]
analyse_dep_droite_Y_5 =analyse_dep_droite_5[['Points_ISA']]
analyse_dep_gauche_X_5 = sm.add_constant(analyse_dep_gauche_X_5) # on ajoute une constante, sinon la régression se fait sans, par défaut
y = analyse_dep_gauche_5[['Points_ISA']]

model_dep_gauche_5 = sm.OLS(y, analyse_dep_gauche_X_5)
results_dep_gauche_5 = model_dep_gauche_5.fit()
print(results_dep_gauche_5.summary())
analyse_dep_droite_X_5 = sm.add_constant(analyse_dep_droite_X_5) # on ajoute une constante, sinon la régression se fait sans, par défaut
y = analyse_dep_droite_5[['Points_ISA']]

model_dep_droite_5 = sm.OLS(y, analyse_dep_droite_X_5)
results_dep_droite_5 = model_dep_droite_5.fit()
print(results_dep_droite_5.summary())<jupyter_output>OLS Regression Results                            
==============================================================================
Dep. Variable:             Points_ISA   R-squared:                       0.877
Model:                            OLS   Adj. R-squared:                  0.873
Method:                 Least Squares   F-statistic:                     211.8
Date:                Wed, 19 May 2021   Prob (F-statistic):          5.35e-179
Time:                        15:35:25   Log-Likelihood:                -387.95
No. Observations:                 430   AIC:                             805.9
Df Residuals:                     415   BIC:                             866.9
Df Model:                          14                                         
Covariance Type:            nonrobust                                         
=============================================================================================================
                     [...]<jupyter_text>En séparant gauche, droite et centre<jupyter_code># Les établissements avec des revenus départements  trés élevés

VAR_CTRL_GAUCHE_5 = VAR_CTRL.copy()
VAR_CTRL_GAUCHE_5= VAR_CTRL_GAUCHE_5.fillna(0)
VAR_CTRL_GAUCHE_5 = VAR_CTRL_GAUCHE_5.apply(lambda x: x+1 if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)

VAR_CTRL_GAUCHE_5 = VAR_CTRL_GAUCHE_5.apply(lambda x: np.log(x) if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)

VAR_CTRL_GAUCHE_5 = VAR_CTRL_GAUCHE_5[VAR_CTRL_GAUCHE_5.Bloc_politique == "Extrême gauche à gauche"]
VAR_CTRL_CENTRE_5 = VAR_CTRL.copy()
VAR_CTRL_CENTRE_5= VAR_CTRL_CENTRE_5.fillna(0)
VAR_CTRL_CENTRE_5 = VAR_CTRL_CENTRE_5.apply(lambda x: x+1 if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)

VAR_CTRL_CENTRE_5 = VAR_CTRL_CENTRE_5.apply(lambda x: np.log(x) if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)


VAR_CTRL_CENTRE_5= VAR_CTRL_CENTRE_5[VAR_CTRL_CENTRE_5.Bloc_politique == "Centre gauche à centre droit"]
VAR_CTRL_DROITE_5 = VAR_CTRL.copy()
VAR_CTRL_DROITE_5= VAR_CTRL_DROITE_5.fillna(0)
VAR_CTRL_DROITE_5 = VAR_CTRL_DROITE_5.apply(lambda x: x+1 if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)

VAR_CTRL_DROITE_5 = VAR_CTRL_DROITE_5.apply(lambda x: np.log(x) if x.name in ['Points_ISA', 'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'Population'] else x)

VAR_CTRL_DROITE_5_1= VAR_CTRL_DROITE_5[VAR_CTRL_DROITE_5.Bloc_politique == "Centre droit à droite"]
VAR_CTRL_DROITE_5_2 = VAR_CTRL_DROITE_5[VAR_CTRL_DROITE_5.Bloc_politique == "Droite à extrême droite"]
VAR_CTRL_DROITE_5 = pd.concat([VAR_CTRL_DROITE_5_1,VAR_CTRL_DROITE_5_2])
VAR_CTRL_DROITE_5= VAR_CTRL_DROITE_5.fillna(0)
VAR_CTRL_GAUCHE_5 = VAR_CTRL_GAUCHE_5.fillna(0)
VAR_CTRL_CENTRE_5 = VAR_CTRL_CENTRE_5.fillna(0)
VAR_EXPL_CAT_5 = VAR_EXPL_CAT_5.fillna(0)
#stjr_1 = stjr_1.fillna(0)
analyse_dep_gauche_5 = pd.merge(VAR_CTRL_GAUCHE_5, VAR_EXPL_CAT_5)
analyse_dep_centre_5 = pd.merge(VAR_CTRL_CENTRE_5, VAR_EXPL_CAT_5)

analyse_dep_droite_5 = pd.merge(VAR_CTRL_DROITE_5, VAR_EXPL_CAT_5)
analyse_dep_gauche_X_5 =analyse_dep_gauche_5[["Personnel médical","Internes",'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers', 
        'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'STJR_1', 'STJR_2','STJR_3']]
analyse_dep_gauche_Y_5 =analyse_dep_gauche_5[['Points_ISA']]
analyse_dep_droite_X_5 =analyse_dep_droite_5[["Personnel médical","Internes",'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers', 
       'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'STJR_1', 'STJR_2','STJR_3']]
analyse_dep_droite_Y_5 =analyse_dep_droite_5[['Points_ISA']]
analyse_dep_centre_X_5 =analyse_dep_centre_5[["Personnel médical","Internes",'Personnels de direction et administratifs',
       'Personnels des services de soins', 'Personnels éducatifs et sociaux',
       'Personnels médico-techniques', 'Personnels techniques et ouvriers', 
        'Capital_Lit_MCO', 'Capital_Bloc', 'Capital_imagerie',
       'Capital_Examens_biologiques', 'Capital_telemed', 'STJR_1', 'STJR_2','STJR_3']]
analyse_dep_centre_Y_5 =analyse_dep_centre_5[['Points_ISA']]
analyse_dep_droite_X_5 = sm.add_constant(analyse_dep_droite_X_5) # on ajoute une constante, sinon la régression se fait sans, par défaut
y = analyse_dep_droite_5[['Points_ISA']]

model_dep_droite_5 = sm.OLS(y, analyse_dep_droite_X_5)
results_dep_droite_5 = model_dep_droite_5.fit()
print(results_dep_droite_5.summary())
analyse_dep_gauche_X_5 = sm.add_constant(analyse_dep_gauche_X_5) # on ajoute une constante, sinon la régression se fait sans, par défaut
y = analyse_dep_gauche_5[['Points_ISA']]

model_dep_gauche_5 = sm.OLS(y, analyse_dep_gauche_X_5)
results_dep_gauche_5 = model_dep_gauche_5.fit()
print(results_dep_gauche_5.summary())
analyse_dep_centre_X_5 = sm.add_constant(analyse_dep_centre_X_5) # on ajoute une constante, sinon la régression se fait sans, par défaut
y = analyse_dep_centre_5[['Points_ISA']]

model_dep_centre_5 = sm.OLS(y, analyse_dep_centre_X_5)
results_dep_centre_5 = model_dep_centre_5.fit()
print(results_dep_centre_5.summary())<jupyter_output>OLS Regression Results                            
==============================================================================
Dep. Variable:             Points_ISA   R-squared:                       0.903
Model:                            OLS   Adj. R-squared:                  0.900
Method:                 Least Squares   F-statistic:                     355.2
Date:                Wed, 19 May 2021   Prob (F-statistic):          8.25e-260
Time:                        15:35:26   Log-Likelihood:                -449.07
No. Observations:                 549   AIC:                             928.1
Df Residuals:                     534   BIC:                             992.8
Df Model:                          14                                         
Covariance Type:            nonrobust                                         
=============================================================================================================
                     [...]
{'fraction_non_alphanumeric': 0.12443286842547471, 'fraction_numerical': 0.025653951716798296, 'mean_word_length': 4.286793011548712, 'pattern_counts': {'":': 0, '<': 64, '<?xml version=': 0, '>': 64, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 18, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '16', 'dir': 'jupyter-structured-clean-dedup', 'id': '305160', 'license': 'Apache-2.0', 'n_tokens_mistral': 13568, 'n_tokens_neox': 12992, 'n_words': 2379, 'path': 'Effet_richesse_dep.ipynb', 'repo_name': 'VincianeDesbois/Hopitaux_Production', 'size': '35738'}