如何学习使用python进行数据分析

学习步骤

大致可以分为三个步骤,首先学习python的基本知识,这包括data type,control of flow, function, 和class相关的知识;推荐的书籍有Python crash course: A hands-on, project-based introduction to programming (Third edition)和Learn Python programming: An in-depth introduction to the fundamentals of Python (Third edition),前者属于入门书籍,后者属于进阶教材,需要在完成第一本书后开始阅读。

其次,学习数据清理和探索性分析的常用package。这包括numpy, pandas, matplotlib, seaborn,这一阶段的学习仅涉及基本的编程知识和简单的统计学知识,比如频数、均值、方差计算等等,不涉及复杂的统计学知识,可以通过各package的官方教程学习,也可以通过一些系统介绍的书籍,推荐的书籍有Python for Data Analysis, 3E

再次,学习一些基本模型回归知识。这部分学习的难点在于理解统计模型,比如logistic回归在何种情形下使用,变量如何选择,参数如何估计和解读,等等。而另一方面,通过编辑语言来实现各类模型回归,则是很简单的部分,因为这些工作现在都是通过专用package中的高阶命令来完成,并且可以快速生成格式友好的结果表格。这主要涉及三个packages的学习,statsmodels, linearmodels, scikit-learn,前两者是统计学视角的各种模型,基本涵盖了各种常见的模型。scikit-learn是机器学习模型的集合,其中也包括一些统计比如linear regression, logistic regression.如果使用bayes方法进行参数估计的话,可以学习PyMC。如果具备模型回归的统计学知识的话,直接根据这几个packages的官方教程进行练习即可。在以上基础之上可以开始阅读Causal Inference for The Brave and True,学习使用Python进行因果推断的研究设计与分析。 以上各个阶段的学习都必须跟着书籍或网上的教程跟做练习,在练习过程中明白各命令的语法结构及功能。这样才掌握这些技术,用于分析自己的数据。

学习所需材料

数据清理与初步分析相关的书籍

研究设计与模型分析相关的书籍

Python编程相关的书籍

  • Matthes, E. (2023). Python crash course: A hands-on, project-based introduction to programming (3rd edition). No Starch Press.
  • Romano, F., & Kruger, H. (2021). Learn Python programming: An in-depth introduction to the fundamentals of Python (Third edition). Packt Publishing.

分析工具

model packages

basic packages

causal inference

  • differences
  • CausalPy,beta version, there are many problems, needs to be fixed.
  • RD,a series of package on regression discontinuity.
  • causallib,A Python package for inferring causal effects from observational data.
  • causalinference
  • causalimpact,import from R package causalimpact: An R package for causal inference using Bayesian structural time-series models

advanced model packages

  • rdrobust
  • pysynthdid : Synthetic difference in differences for Python
  • pylogit,a Python package for performing maximum likelihood estimation of conditional logit models and similar discrete choice models.