【问题标题】:Fitting a log-norm distribution for two given percentile values为两个给定的百分位值拟合对数范数分布
【发布时间】:2020-06-03 17:28:01
【问题描述】:

假设 X 是对数正态分布,如果给出第 5 个百分位和第 95 个百分位值,是否可以识别其第 0 个百分位和第 100 个百分位(或 99.999 近似值)?

如何在 scipy 中对此进行编程以获得低值和高值? 我认为从概念上讲步骤应该是 1.) 从第 5 个百分位数 = 10 和第 95 个百分位数 = 100 拟合对数正态曲线(确定均值和方差) 2.) 识别低值和高值(例如 99.999%)

【问题讨论】:

  • 你有均值和标准差参数吗?

标签: python numpy scipy


【解决方案1】:

对数正态表示您的分布的自然对数是正态的。因此,在两者之间移动可能会实现您的目标:

import numpy as np
normal_at_5th_percentile = np.log(10)
normal_at_95th_percentile = np.log(100)

# params of related normal distribution
μ = (normal_at_5th_percentile + normal_at_95th_percentile)/2
σ = (normal_at_95th_percentile - μ) / 2

from scipy import stats
# 0.00001 and 0.99999 percentiles of lognormal distribution derived from normal
np.exp(stats.norm.ppf(.00001, loc=μ, scale=σ)), np.exp(stats.norm.ppf(.99999, loc=μ, scale=σ))
(2.715046684206284, 368.31779203565526)

【讨论】:

  • 利用法线形状的对称性得到期望值是非常聪明的。但是我们可以这样计算方差吗?
  • 你需要检查正态分布的基本性质...
  • 见谅理解不够。我试图更好地理解这些属性,但根据我的理解,方差应该是 ((normal_at_95th_percentile - μ)^2 + (normal_at_5th_percentile - μ)^2)/2。 (但这只是一个样本差异。)请您指导我理解您的方法吗?你的方法会很有帮助。
  • 您需要找到一种方法来了解 5th 和 95th 百分位数对于正态分布的含义。剧透:μ+/-2σ
猜你喜欢
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
  • 2019-03-05
  • 1970-01-01
  • 2021-07-11
  • 1970-01-01
  • 2013-08-10
  • 2022-01-22
相关资源
最近更新 更多