DDML:双重机器学习(Stata中Python相关设置)

学术   2024-12-13 23:20   陕西  


设置 Stata 的 Python 集成

pystacked至少需要 Stata 16(或更高版本)、Python 安装(3.8 或更高版本)和 scikit-learn(0.24 或更高版本)。如果要使用ddml,则还应安装 Python。

StataCorp 在三个博客条目中提供了有关如何设置 Stata 的 Python 集成的详细说明:链接 1、链接 2、链接 3。

下面,我们简要概述了这些步骤。

1. Python 安装#

您(至少)有三个选择:

  1. 对于许多人来说,最简单的方法是安装 Anaconda,它可在此处获得。Anaconda 是一个 Python 发行版,带有最重要的包、包管理器和编辑器。

  2. 或者,您可以从此处下载并安装 Python

  3. 如果您的系统上已经安装了最新的 Python 版本,则可以为 Stata 设置一个单独的 Python 环境。这是可选的,但如果您想在不同的项目中使用不同的库,这可能很有用(请参阅此处的说明)。

2. 设置 Python 集成#

一旦你安装了 Python,你需要告诉 Stata 在哪里可以找到 Python 安装。

您可以使用以下方法在系统上搜索 Python 安装

python search

请注意,可能会显示多个 Python 安装(例如,MacOS 附带旧的 Python 版本),并且 Stata 并不总是在您的系统上找到所有 Python 安装。

要将 Stata 链接到特定的 Python 安装,请使用:

python set exec <pyexecutable> , permanently 

例如,where 可能是 /usr/local/bin/python3C:\Program Files\Python38\python.exe``C:\Users\\AppData\Local\Programs\Python\Python38\python.exe ,具体取决于您的操作系统和安装 Python 的位置。

键入python query以检查安装是否已正确链接:

.  python query
------------------------------------------------------------------ 
    Python Settings
      set python_exec      /usr/bin/python3
      set python_userpath  

    Python system information
      initialized          no
      version              3.8.9
      architecture         64-bit

您只需Stata 键入python 即可启动 Java,然后end返回到 Stata 环境 用:

. python
----------------------------------------------- python (type end to exit) ----------
>>> print('hello')
hello
>>> end
------------------------------------------------------------------------------------

3. 管理软件包

pystacked需要 scikit-learn(缩写)。您可以从 Stata 中检查是否已安装:sklearnsklearn

. python which sklearn
<module 'sklearn' from '/Users/<username>/Library/Python/3.8/lib/python/site-packages/sklearn/__init__.py'>

如果 Stata 没有找到 sklearn,这是因为您已将 Stata 链接到错误的 Python 安装,或者因为您仍然需要安装sklearn 。

如果您使用 Anaconda,则会自动包含,您可以通过 Anaconda Python 发行版(请参阅此处)或在终端中使用sklearn conda install来更新 scikit-learn。

如果不使用 Anaconda,则可以使用 安装和更新包。例如,您可以通过在终端中输入内容进行安装,也可以直接进行安装 在 Stata 中:pipsklearn-m pip install -U scikit-learn


shell <Python path> -m pip install -U scikit-learn

其中,请参阅您要与 Stata 一起使用的 Python 安装。如果您只想使用默认的 Python 安装,您也可以替换为(在 Mac 上)或(在 Win 上)。

4、检查它是否有效#

要测试 Stata 的 Python 集成是否适用于您的系统,请在 Stata 中运行以下测试代码:


clear all 
use http://www.stata-press.com/data/r16/iris

python:
from sfi import Data
import numpy as np
from sklearn.svm import SVC

# Use the sfi Data class to pull data from Stata variables into Python
X = np.array(Data.get("seplen sepwid petlen petwid"))
y = np.array(Data.get("iris"))

# Use the data to train C-Support Vector Classifier
svc_clf = SVC(gamma='auto')
svc_clf.fit(X, y)
end

要测试pystacked是否适用于您的系统,请在 Stata 中运行以下测试代码:


clear all
use https://statalasso.github.io/dta/cal_housing.dta, clear
set seed 42
gen train=runiform()
replace train=train<.75
set seed 42
pystacked medh longi-medi if train 

可选:在 Python 环境中使用 Stata#

您还可以在 Python 环境中使用 Stata。如果您想在系统上使用多个版本的 Python,这可能很有用。




数量经济学
见证计量经济学发展,更懂计量更懂你!
 最新文章