第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何用 Python 創(chuàng)建指數(shù)概率論文

如何用 Python 創(chuàng)建指數(shù)概率論文

四季花海 2023-09-12 10:38:50
我現(xiàn)在正在嘗試用python重新創(chuàng)建這個(gè)指數(shù)概率論文的圖表。為了做到這一點(diǎn),我必須將 CDF 函數(shù)線性化為:x = a*g(Fx(x)) + b然后繪制xvs g(Fx(x))。該圖顯示了不同分布的參數(shù)但是我不知道如何繼續(xù)。顯然 x 軸的比例必須改變。我已經(jīng)嘗試過(guò)使用 probplot,但結(jié)果完全相同。有任何想法嗎?import matplotlib.pyplot as pltimport numpy as npfrom scipy.stats import exponfrom scipy.stats import probplot# Creating plotfig,ax =plt.subplots()newax=ax.twiny()ax.grid()# Lognormallambda_expon=0.04i=1/lambda_exponprobs=np.arange(0.01,0.99,0.01) # array with probabilitiesppf =expon.ppf(probs,i) cdf=expon.cdf(ppf,i) x=-np.log(1-cdf) # variabley=-np.log(1-cdf)*i # linearized form CDFax.plot(x,y)newax.set_xticks([0.01,0.5,0.8,0.9,0.96,0.99])newax.set_xticks([0.01,0.5,0.90,0.99])ax.plot()
查看完整描述

1 回答

?
吃雞游戲

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

不確定,為什么你認(rèn)為這是 CDF 圖。如果在 X 軸上放置概率,在 Y 軸上繪制x,它看起來(lái)像分位數(shù)圖。


我沒(méi)有在 Python/Matplotlib 中看到內(nèi)置的此類(lèi)比例,logit看起來(lái)像是最佳近似值。


或者我誤解了你的問(wèn)題?


代碼,Python 3.8 x64 Win10


import numpy as np

import matplotlib.pyplot as plt


# exponential distribution

def PDF(x, λ):

    return λ*np.exp(-λ*x)


def CDF(x, λ):

    return 1.0 - np.exp(-λ*x)


def Q(p, λ): # quantile

    x = -np.log(1.0 - p)/λ

    return x


# plots

λ = 0.04


p = np.linspace(0.01, 0.99, 101)

x = Q(p, λ)


fig = plt.figure()

ax  = fig.add_subplot(2, 1, 1)


ax.set_xscale('logit')

ax.plot(p, x, 'r-')


plt.show()

你會(huì)得到類(lèi)似的東西

https://img1.sycdn.imooc.com//64ffcf6d0001c25f06010209.jpg

更新


如果您需要概率圖,這里是


代碼


from scipy.stats import expon


rve = expon(loc=0.0, scale=1.0/λ)


p = np.linspace(0.01, 0.99, 101)

x = rve.ppf(p) #  Q(p, λ)


q = rve.rvs(size = 10000)


fig = plt.figure()

ax  = fig.add_subplot(2, 1, 1)

   

res = stats.probplot(q, dist=rve, plot=ax)


plt.show()

和圖表

https://img1.sycdn.imooc.com//64ffcf7b0001581e06230245.jpg

好吧,當(dāng)你發(fā)送消息時(shí)我已經(jīng)寫(xiě)好了代碼。無(wú)論如何將其放置在這里,它看起來(lái)與您詢問(wèn)的圖表完全相同 - 與自定義標(biāo)簽呈線性。


import matplotlib.ticker as ticker


def linear(x0, xn, y0, yn, x):

    q = (x-x0)/(xn-x0)

    return q * yn + (1.0 - q) * y0


pmin = 0.009

pmax = 0.991


xmin = Q(pmin, λ)

xmax = Q(pmax, λ)


x = np.linspace(xmin, xmax, 2)

p = np.linspace(pmin, pmax, 2)


tick_values = [0.01, 0.50, 0.80, 0.90, 0.96, 0.99] # probabilies

tick_names  = [str(v) for v in tick_values] # ticks to place on graph


tick_xvals  = [Q(p, λ) for p in tick_values] # x values for each p

tick_places = [linear(xmin, xmax, pmin, pmax, x) for x in tick_xvals] # x from linear function


fig = plt.figure()

ax  = fig.add_subplot(2, 1, 1)


ax.axes.xaxis.set_major_locator(ticker.FixedLocator((tick_places)))

ax.xaxis.set_major_formatter(ticker.FixedFormatter((tick_names)))


ax.plot(p, x, 'r-')


plt.show()

和圖表本身

https://img1.sycdn.imooc.com//64ffcf8700013ffc05910205.jpg

查看完整回答
反對(duì) 回復(fù) 2023-09-12
  • 1 回答
  • 0 關(guān)注
  • 96 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)