本文主要是介绍【更新】cyのMemo(20240209~),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
序言
除夕,年夜饭回来后特别累(赶早,下午又一路十公里跑回老家),把明天要看的东西准备好,然后糊完手头的日记本最后一页(糊了一堆“烦”字),准备封存起来,找本新的软抄就睡觉了,即兴又想翻翻之前的本子,从十二年前开始,初中狂妄羞耻的中二魂,每天还都起个特别二的标题,什么《闭关修炼!黑色星期五!双重创击!XXX称霸扬州》《迈向破灭的镇魂曲—巅峰对决—败绩—病倒》《自陷—精神暗杀》,到高中群雄并起,画风一下子正常了许多,再到刚入大学时的迷惘,再后来事情都是现在记忆里的模样了。
本来,今天还是很高兴的,终于把破事摆平顺利回家。但到晚上突然很痛苦,因为怎么都听不见回声,我感觉是之前做的事逾矩了,覆水难收,到底还是让别人产生芥蒂了。害。
20240209
dowhy库构建因果图,旨在简化因果推断的过程,特别是针对那些希望从数据中估计因果效应的研究者。
开源地址:https://github.com/py-why/dowhy
dowhy 是一个开源的 Python 库,
图片
pip install dowhy
demo:
# 加载数据
import numpy as np
import pandas as pd
from dowhy import CausalModel
import dowhy.datasets
rvar = 1 if np.random.uniform() >0.5 else 0
data_dict = dowhy.datasets.xy_dataset(10000, effect=rvar, sd_error=0.2)
df = data_dict['df']# 现在你可以使用 DoWhy 定义因果模型。这涉及指定分析中的变量、治疗、结果和潜在的混杂因素。
model= CausalModel(data=df,treatment=data_dict["treatment_name"],outcome=data_dict["outcome_name"],common_causes=data_dict["common_causes_names"])
model.view_model(layout="dot")
参数说明:
data
,包含所有相关数据的 DataFrame。这应该包括处理变量、结果变量、共同原因(共变量)、以及(如果有的话)工具变量。treatment
,指定作为处理(干预)的变量名。在因果推断中,我们关心的是改变这个变量会如何影响结果变量。outcome
,指定结果变量的名称。这是我们想要了解其因果效应的变量。common_causes
,一个包含所有已知共同原因(也称为共变量或混杂变量)名称的列表。这些是既影响处理变量又影响结果变量的变量,必须控制以避免偏差。instruments
,一个包含所有工具变量名称的列表(如果有的话)。工具变量是与处理变量相关但只通过它影响结果变量的变量,常用于处理内生性问题。
输出结果:
w 0 → T r e a t m e n t → O u t c o m e ← w 0 w_0 \rightarrow Treatment \rightarrow Outcome \leftarrow w_0 w0→Treatment→Outcome←w0
这是个典型的三角带混杂的因果图,即 w 0 w_0 w0为混杂变量,它既影响处理变量 T r e a t m e n t Treatment Treatment又影响结果变量 O u t c o m e Outcome Outcome
这篇关于【更新】cyのMemo(20240209~)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!