Introduction à la vérification des effets Rédaction des chapitres 4 et 5 en Python

introduction

Introduction à la vérification de l'efficacité - Raisonnement causal pour une comparaison correcte / Bases de l'économie quantitative Reproduire le code source en Python Faire.

J'ai déjà un exemple d'implémentation du grand ancêtre, mais je le laisserai comme mémo pour mon étude.

Cet article décrit les chapitres 4 et 5. Le code est également posté sur github. De plus, les noms de variables et le contenu du traitement sont essentiellement implémentés dans le livre.

CausalImpact

Ici, il est implémenté en utilisant pycausal impact. Le résultat ne correspond pas à la version R, mais cela semble être dû au fait que la méthode gérée est différente de celle décrite dans le README. Il semble que vous puissiez spécifier le modèle d'espace d'états avec l'argument model, mais j'ai abandonné car il semble difficile de faire correspondre l'implémentation avec la version R.

CausalImpact


from causalimpact import CausalImpact

impact = CausalImpact(CI_data, pre_period, post_period, prior_level_sd=None)

impact.plot()
print(impact.summary())

RDD L'analyse de régression non linéaire peut être effectuée en apprenant le modèle suivant et en se référant à l'effet des variables d'intervention.

Y = \beta_0 + \beta_1 f_1(X-c) + \beta_2 f_2(X-c) + \rho Z + \epsilon

RDD


from sklearn.preprocessing import PolynomialFeatures

degree = 4
X = nonlinear_rdd_data[['history_log']]
X = X - cutpoint
X_poly = PolynomialFeatures(degree=degree, include_bias=False).fit_transform(X)
X_poly = pd.DataFrame(X_poly, columns=[f'X{i+1}' for i in range(X_poly.shape[1])])
nonlinear_rdd_data = pd.concat([nonlinear_rdd_data, X_poly], axis=1)

nonlinear_rdd_ord4 = ols('visit ~ treatment + X1 + X2 + X3 + X4 + treatment:X1 + treatment:X2 + treatment:X3 + treatment:X4', data=nonlinear_rdd_data).fit()

Relation

Recommended Posts

Introduction à la vérification des effets Rédaction des chapitres 4 et 5 en Python
Introduction à la vérification de l'efficacité Chapitre 3 écrit en Python
Introduction à la vérification de l'efficacité Chapitre 2 écrit en Python
Introduction à la vérification de l'efficacité Chapitre 1 écrit en Python
J'ai écrit "Introduction à la vérification des effets" en Python
[Introduction à Python3 Jour 1] Programmation et Python
[Introduction à l'application Udemy Python3 +] 36. Utilisation de In et Not
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie1-
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie4-
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie3-
Code de vérification de la série Fourier écrit en Python
[Introduction à Python] Comment utiliser la classe en Python?
Les modules et packages en Python sont des "espaces de noms"
Comment utiliser is et == en Python
Introduction aux vecteurs: Algèbre linéaire en Python <1>
Comment générer une séquence en Python et C ++
[Introduction à Python3 Jour 12] Chapitre 6 Objets et classes (6.3-6.15)
tse --Introduction à l'éditeur de flux de texte en Python
[Introduction à Python3, jour 22] Chapitre 11 Traitement parallèle et mise en réseau (11.1 à 11.3)
Envoyer un message à Skype et Chatwork en Python
[Introduction à l'application Udemy Python3 +] 64. Espace de noms et portée
[Introduction à Python3 Jour 11] Chapitre 6 Objets et classes (6.1-6.2)
Pour représenter la date, l'heure, l'heure et les secondes en Python
Comment tracer l'autocorrélation et l'autocorrélation partielle avec Python
Conseils pour ceux qui ne savent pas comment utiliser is et == en Python
Introduction à l'analyse des séries temporelles ~ Modèle d'ajustement saisonnier ~ Implémenté en R et Python
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitres 11 et 12 Introduction à Pandas Matplotlib
Introduction au langage Python
Introduction à OpenCV (python) - (2)
[Introduction à l'application Udemy Python3 +] 35. Opérateurs de comparaison et opérateurs logiques
Convertir la date et l'heure zonées en temps Unixtime dans Python2.7
Analyser une chaîne JSON écrite dans un fichier en Python
Écrire des tests en Python pour profiler et vérifier la couverture
[Python] Comment trier un dict dans une liste et une instance dans une liste
Introduction à l'algèbre linéaire avec Python: Décomposition A = LU
[Introduction à Udemy Python3 + Application] 68. Instruction d'importation et AS
[Introduction à la décomposition des éléments] Organisons les méthodes d'analyse des séries chronologiques en R et python ♬
"Introduction à la vérification des effets Chapitre 3 Analyse utilisant le score de propension" + α est essayé en Python
[Introduction à Python] Résumé des fonctions et méthodes qui apparaissent fréquemment en Python [Format du problème]
[Introduction à cx_Oracle] (Partie 6) Mappage des types de données DB et Python
Un script qui compte jusqu'à 5 secondes et s'arrête dans le Python de Blender
Essayez de le faire avec GUI, PyQt en Python
Pour vider stdout en Python
Application pour afficher et rechercher des mémos locaux (agenda) en Python
[Introduction à l'application Udemy Python3 +] 42. pour instruction, instruction break et instruction continue
[Introduction à l'application Udemy Python3 +] 39. instruction while, instruction continue et instruction break
Introduction à la communication série [Python]
Afficher les nombres et les caractères affectés aux variables dans l'impression python
Conseils pour coder courts et faciles à lire en Python
Un moyen standard de développer et de distribuer des packages en Python
Astuces utiles liées à la liste et aux instructions en Python
Modèles de conception en Python: introduction
Comparaison de l'utilisation des fonctions d'ordre supérieur dans Python 2 et 3
Notes de lecture (en Python et Stan) pour une introduction à la modélisation statistique pour l'analyse de données (Midorimoto)
Pile et file d'attente en Python
Parler avec Python [synthèse vocale]
[Introduction to Data Scientists] Bases de Python ♬ Fonctions et classes
[Introduction à Udemy Python3 + Application] 50. Arguments de position, arguments de mots-clés et arguments par défaut
[Introduction à Python] <liste> [modifier le 22/02/2020]
Introduction à Python (version Python APG4b)
Gacha écrit en Python -BOX Gacha-