如何学习使用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 for Data Analysis, 3E
- Grus, J. (2019). Data science from scratch: First principles with Python (Second edition). O’Reilly Media.
- Python for Data Science
研究设计与模型分析相关的书籍
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.