亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試在 Python 中插值直方圖函數的輸出

嘗試在 Python 中插值直方圖函數的輸出

倚天杖 2022-08-16 17:44:50
我試圖做的是玩一些隨機分布。我不希望它變得正常。但就目前而言,正常更容易。import matplotlib.pyplot as pltfrom scipy.stats import normws=norm.rvs(4.0, 1.5, size=100)density, bins = np.histogram(ws, 50,normed=True, density=True)unity_density = density / density.sum()fig, ((ax1, ax2)) = plt.subplots(nrows=1, ncols=2, sharex=True, figsize=(12,6))widths = bins[:-1] - bins[1:]ax1.bar(bins[1:], unity_density, width=widths)ax2.bar(bins[1:], unity_density.cumsum(), width=widths)fig.tight_layout()然后,我能做的就是根據點數來可視化CDF。density1=unity_density.cumsum()x=bins[:-1]y=density1plt.plot(x, density1, 'o')因此,我一直試圖做的是在np.直方圖的輸出上使用np.interp函數,以獲得表示CDF的平滑曲線并提取百分點以繪制它們。理想情況下,我需要嘗試手動完成所有操作并使用scipy中的ppf函數。作為一名本科生,我一直在與統計學作斗爭。我現在在讀研究生,并試圖讓我盡可能多地進行這樣的練習,以便更深入地了解正在發生的事情。我對這項任務已經到了絕望的地步。謝謝!
查看完整描述

1 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

獲得更平滑結果的一種可能性是使用更多樣本,通過使用,我得到以下圖像:10^5 samples100 bins


ws = norm.rvs(loc=4.0, scale=1.5, size=100000)

density, bins = np.histogram(ws, bins=100, normed=True, density=True)

http://img1.sycdn.imooc.com//62fb67670001f22e06510230.jpg

通常,您可以使用 scipys 插值模塊來平滑 CDF。對于和平滑因子我得到:100 sampless=0.01


import numpy as np

import matplotlib.pyplot as plt

from scipy.interpolate import splev, splrep


density1 = unity_density.cumsum()

x = bins[:-1]

y = density1


# Interpolation

spl = splrep(x, y, s=0.01, per=False)

x2 = np.linspace(x[0], x[-1], 200)

y2 = splev(x2, spl)


# Plotting

fig, ax = plt.subplots()

plt.plot(x, density1, 'o')

plt.plot(x2, y2, 'r-')

http://img1.sycdn.imooc.com//62fb67720001798b05430408.jpg

第三種可能性是分析計算CDF。如果你自己用一個/函數生成噪音,大多數時候已經有可用的實現,否則你應該在維基百科上找到它。如果您的樣品來自測量值,那當然是另一回事。numpyscipyCDF


import numpy as np

from scipy.stats import norm

import matplotlib.pyplot as plt


fig, ax = plt.subplots()

x = np.linspace(-2, 10)

y = norm(loc=4.0, scale=1.5).cdf(x)

ax.plot(x, y, 'bo-')

http://img1.sycdn.imooc.com//62fb677d0001833005430409.jpg

查看完整回答
反對 回復 2022-08-16
  • 1 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號