目录
Causal Models
因果模型是一系列分配机制的集合,我们用符号来表示。在这个机制里,我使用u来代表模型外部的变量,也就是说,我不关心它们是如何生成的。而其他的变量则是我非常关注的,因此它们被纳入了模型之中。最后,存在函数f,用来描述一个变量如何映射到另一个变量上。以下面的因果模型为例:
在讨论因果关系时,直觉可以帮助我们理解基本的问题,但如果想要超越简单的直觉,就需要一些正式的符号表示。这将成为我们日常交流的语言,用来谈论因果性。你可以把它看作是我们与因果推理领域的同行共同使用的语言。
因果模型是由一系列的赋值机制构成的,用符号表示。在这些机制中,我用u来表示模型之外的变量,意味着我不对它们的生成过程作出任何声明。而其他的变量是我非常关注的,因此它们被包含在模型中。最后,存在函数f,用来将一个变量映射到另一个变量上。举个因果模型的例子:
在第一个方程中,我表达的是,一组我没有明确建模的变量(也称为外生变量),通过函数ft影响处理因素T。接下来,T与另一组我同样选择不建模的变量一起,通过函数共同影响结果Y。在最后一个方程中的说明结果不仅仅由处理因素T单独决定,还有其他变量也在其中起作用,即使我选择不将它们纳入模型。把这个概念应用到销售的例子中,这意味着每周销量weekly_amount_sold受是否打折is_on_sale以及其它未指定的因素u共同影响。u的作用在于解释所有由它引起的、模型内变量尚未涵盖的变量变异——这些模型内的变量也被称为内生变量。在我的例子中,可以说降价是由某些因素导致的,这些因素可能是企业规模,也可能是什么别的东西,但它们并不在模型之内。
我使用箭头符号而非等号,是为了明确指出因果关系的不可逆性。在传统代数中,等号意味着等式的两边可以互换,比如 Y = T + X 等价于 T = Y - X,但我并不想表达 T 导致 Y 的情况与 Y 导致 T 是等同的。尽管如此,出于书写便利,我有时还是会使用等号,不过你要记住,由于因果关系的不可逆性,处理因果模型时,你不能像在传统代数中那样随意变换等号两边的内容。
如果你想更明确地建模更多的变量,你可以将它们从u中分离出来,并在模型中给予考虑。比如,之前我提到价格大幅下调与不调价之间的巨大差异可能是因为规模较大的企业能够进行更激进的销售策略。在之前的模型中,BusinessSize(企业规模)并没有被明确地纳入模型。相反,它的影响被归结到一边,与u中的其他一切因素一样。但是,我可以将其明确地建模:
为了引入这个额外的内生变量,首先,我正在添加一个新的方程式来表示这个变量是如何形成的。接着,我将BusinessSize从ut中移除。也就是说,我不再把它当作模型外的一个变量,而是明确表示BusinessSize与一些其他我仍然选择不建模的外部因素共同影响IsOnSales。这正是形式化地编码了大企业更有可能降价的信念。最后,我也可以在最后一个方程中加入BusinessSize。这编码了大企业也卖得多的信念,换句话说,BusinessSize是治疗IsOnSales和结果AmountSold的共同原因。
由于这种建模方式可能对你来说是新的,将其与你可能更熟悉的东西联系起来是有益的。如果你来自经济学或统计学领域,你可能会习惯于另一种方式来建模相同的问题。
起初看起来很不一样,但仔细检查后会发现前面的模型与你早先看到的模型非常相似。首先,注意它是如何取代前一个模型中的最后一个方程,并展开了fy函数,明确表明内生变量IsOnSales和BusinessSize是以线性和加性的方式组合形成结果AmountSold的。从这个意义上讲,这个线性模型比你之前看到的假设更多。可以说,它给变量之间的关系强加了一个函数形式。其次,你没有说关于独立(内生)变量IsOnSales和BusinessSize是如何形成的。最后,这个模型使用的是等号,而不是赋值操作符,但我们已经同意不必太在意这一点。
标签:IsOnSales,变量,Python,模型,建模,53,BusinessSize,因果 From: https://blog.csdn.net/qq_32146369/article/details/139691418