【Python】如何生成柯西分佈隨機數
Python中生成標準柯西分佈的函式是:numpy.random.standard_cauchy(size),
我就在想,能否生成一個非標準的柯西隨機數呢?那麼面臨幾個問題:
(1)標準柯西隨機數和非標準可惜隨機數之間有沒有之間轉化關係?(沒有)
(2)柯西隨機數是怎麼生成的?
(3)柯西隨機數與概率密度有關,還是與概率分佈有關?
帶著這幾個問題,我首先查了什麼是柯西分佈,包括密度函式、概率分佈函式的表示式(來自:百度百科)。
柯西分佈也叫作柯西一洛倫茲分佈,它是以奧古斯丁-路易-柯西與亨德里克-洛倫茲名字命名的連續概率分佈,如圖所示。其概率密度函式為式中:為定義分佈峰值位置的位置引數;為最大值一半處的一半寬度的然後,在生成柯西隨機數時,網上有人是這樣做的(連結):
計算得到Cauchy分佈累計分佈函式(CDF)的反函式;
使用rand()函式生成(0,1)區間上均勻分佈的初始隨機數x;
將初始隨機數代入CDF的反函式即可得到我們需要的標準Cauchy隨機數:
C(1)_x=tan((x-1/2)*pi);
顯然,上面的CDF的反函式起關鍵作用。在CDF的反函式中,概率變成自變數(對應0和1之間的隨機數),因變數就是所求隨機數(對應負無窮到正無窮的隨機數)。於是,我們可求得非標準柯西隨機數生成公式為:
C(gamma, x0)_x = gamma*tan((x-1/2)*pi) + x0 ;
即 C(gamma, x0)_x = gamma*C(1)_x + x0 ;
那麼,在python中,要得到gamma為2的非標準柯西隨機數,只需要在原來基礎上乘以2,即
C(1)_x = numpy.random.standar.cauchy(1)
C(2)_x = 2*numpy.random.standar.cauchy(1)
相關推薦
【Python】如何生成柯西分佈隨機數
Python中生成標準柯西分佈的函式是:numpy.random.standard_cauchy(size),我就在想,能否生成一個非標準的柯西隨機數呢?那麼面臨幾個問題:(1)標準柯西隨機數和非標準可惜隨機數之間有沒有之間轉化關係?(沒有)(2)柯西隨機數是怎麼生成的?(3
【Python】生成隨機數
1、生成指定範圍重複隨機數 #生成1000個10000以內不重複的隨機數 [random.randint(0,10000) for i in range(1000)] ##或者是 [random.ran
MT【16】利用柯西不等式求三角的最大值
技術分享 com style img 不等式 bsp nbsp png 均值 評:此題也可以設$1+cos\theta=t$,平方後變成$t$的單變量利用均值去做. 柯西平衡系數法其實就是待定系數法,利用等號取到的條件。MT【16】利用柯西不等式求三角的最大值
【python】生成笛卡爾積(交叉表)DataFrame和numpy
有檔案A:,B:,希望通過A,B生成C: 就是笛卡爾積操作。 一,當資料在numpy陣列中,資料為: A=['a','b','c','d'] B=['1','2','3','4'] 其實方法一的思想很簡單粗暴:A,B元素儲存在list中,將A中每個元素複
【Python】生成動態路由軌跡圖
準備檔案: linux系統安裝:apt-get install tcpdump graphviz ImageMagick安裝:pip install scapy 過程:(要正確配置etc/resolv.config裡面的DNS伺服器) 通過scapy的trac
【Python】Python生成一個不重複隨機list
在一個範圍內,生成一個固定元素個數的,不重複的隨機list. 錯誤方法 使用for迴圈逐一對生成每個值進行判斷,在有重複值的時候,不會被被新增.在需要生成多個隨機值的時候,容易出現輸出的結果比較少的情況.比如下面需要生成20個隨機值,可是一般輸出的都不到20. import ra
【Python】uuid生成唯一ID
uuid是128位的全域性唯一識別符號(univeral unique identifier),通常用一個32位的字串的形式來表現。有時也稱guid(global unique identifier)。python中自帶了uuid模組來進行uuid的生成和管理工作。(pyth
【Python】Windows下用Jieba分詞和WordCloud庫生成中文詞雲
一、開啟Anaconda Prompt,用activate命令啟用環境 二、從清華映象下載所需庫: jieba分詞庫 wordcloud繪製詞雲庫 numpy常用於處理陣列 PIL為影象處理標準庫 pip install jieba -i https://pypi
【Python】3.6版本py檔案打包生成exe
原文提到的要點: 1. Python版本32位 (檔名為 python-3.6.1.exe) 2. 安裝所有用到的模組(原文博主用的是openpyxl,我用到的有urllib中的request\config\data) 3. 下載替換pyinstaller(下載pyins
【Python】不使用迭代生成器生成斐波那契數列,並大幅降低時間複雜度
斐波那契數列指的是這樣一個數列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........ 這個數列從第3項開始,每
數字訊號產生之柯西分佈的隨機數
uniform.h #pragma once class uniform { private: double a, b, generate_num; int * seed; int s; int M, N, i, j; public: uniform() {
【Python】自動生成命令列工具
Python 中用於生成命令列介面(Command Line Interfaces, CLIs)的工具已經有一些了,例如已經成為 Python 標準庫的 argparse 和第三方的 click ,這些都是很不錯的工具。但是這些工具為 Python 程式生成 C
【Python】正則表達式1(未完)
pes mmu get regular rop 則表達式 line out github 1、正則表達式唯一的用途就是在文本中匹配和尋找模式,模式可以簡單,也可以復雜。 2、Regexr 這個網站很個性的就是,有一個community標簽,打開後可以看到評分由高到低
【LeetCode】【Python】Binary Tree Inorder Traversal
nod 不知道 otto div ack return integer neu else Given a binary tree, return the inorder traversal of its nodes‘ values. For example: Gi
【Python】決策樹的python實現
uia bmp say 不知道 times otto outlook lru bgm 【Python】決策樹的python實現 2016-12-08 數據分析師Nieson 1. 決策樹是什麽? 簡單地理解,就是根據一些 feature 進行分類,每個節點提一個問
【Python】基礎知識
數據 文件 專用 一切都 元組 內存 引用傳遞 asc ilo 1. python腳本語言的第一行,目的就是指出,你想要你的這個文件中的代碼用什麽可執行程序去運行它 #!/usr/bin/python 是告訴操作系統執行這個腳本的時候,調用/usr/bin下
【Python】python2.7 安裝配置OpenCV2
pen 2.4.1 安裝 so文件 strong make lib con ack 環境:Ubuntu16.04 anaconda Python2.7 opencv2.4.13 安裝opencv後 import cv2 遇到錯誤信息: No module named cv2
【Python】數組排序
log false blog sort函數 () ron 返回 imp 總結 1.numpy庫:argsort() argsort函數返回的是數組值從小到大的索引值(升序排列) 一維: In [1]: import numpy as np In [2]: x
【Python】selenium調用IE11瀏覽器,報錯“找不到元素”NoSuchWindowException: Message:Unable to find element on closed window
conn ont csdn creates logs 註冊 target get 意思 當編寫自動化腳本,定位瀏覽器元素時,報如下錯誤: 代碼: >>> # coding=utf-8 >>> from selenium import w
【Python】Selenium元素定位錯誤之解決辦法
tor log -m alt src 多個 common nbu invalid 當使用class定位元素時發現報錯: 錯誤信息:selenium.common.exceptions.InvalidSelectorException: Message: Compound