You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中正态分布概率密度函数二阶导数的实现及推导求解

正态分布PDF的二阶导数推导与实现

嘿,我来一步步帮你推导并给出Python里的实现方式。

首先,咱们先明确已知的内容:

  • 正态分布的概率密度函数(PDF):f(x) = scipy.stats.norm.pdf(x, mu, sigma)
  • 一阶导数:f'(x) = f(x) * (mu - x)/sigma**2

要得到二阶导数,咱们对一阶导数再求一次导就行,这里会用到乘积法则:如果有函数g(x) = u(x)*v(x),那么g'(x) = u'(x)*v(x) + u(x)*v'(x)。

把一阶导数拆成两部分:

  • u(x) = f(x)(也就是正态PDF本身)
  • v(x) = (mu - x)/sigma**2

接下来分别计算两部分的导数:

  1. u'(x)就是咱们已经知道的一阶导数:f'(x) = f(x)*(mu - x)/sigma**2
  2. v'(x)是对(mu - x)/sigma**2求导,因为mu和sigma都是常数,所以导数就是-1/sigma**2

现在把这些代入乘积法则:

f''(x) = u'(x)*v(x) + u(x)*v'(x)
= [f(x)*(mu - x)/sigma**2] * [(mu - x)/sigma**2] + f(x)*(-1/sigma**2)

整理一下这个式子,把公共项f(x)提出来:

f''(x) = f(x) * [ (mu - x)**2 / sigma**4 - 1/sigma**2 ]

还可以进一步合并分母,让表达式更简洁:

f''(x) = f(x) * [ (mu - x)**2 - sigma**2 ] / sigma**4

所以在Python里,你可以直接这样实现二阶导数:

import scipy.stats as stats

def norm_pdf_second_derivative(x, mu, sigma):
    pdf = stats.norm.pdf(x, mu, sigma)
    return pdf * ((mu - x)**2 - sigma**2) / (sigma**4)

你可以测试一下这个函数,比如取mu=0,sigma=1(标准正态分布),二阶导数就简化为stats.norm.pdf(x) * (x**2 - 1),这和标准正态PDF二阶导数的已知结果一致~

内容的提问来源于stack exchange,提问作者Nafise Banoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 13:22:27