python?Copula?實現(xiàn)繪制散點模型
一、使用copula生成合成數(shù)據(jù)集(synthetic dataset)
1. 三維數(shù)據(jù)描述
建立一個三維數(shù)據(jù)表,查看三維數(shù)據(jù)的散點圖:
from copulas.datasets import sample_trivariate_xyz data = sample_trivariate_xyz() from copulas.visualization import scatter_3d scatter_3d(data)

2. 使用高斯copula對數(shù)據(jù)集建模
使用GaussianMultivariate(自動)估計x、y、z的邊緣分布和聯(lián)合分布,從而能夠對數(shù)據(jù)集建模。
from copulas.multivariate import GaussianMultivariate copula = GaussianMultivariate() copula.fit(data)
3. 使用擬合后的模型生成新的數(shù)據(jù)集
使用sample按擬合好的邊際分布生成1000個新的樣本點(每個編輯分布都生成1000個樣本點,3個邊際分布生成3000個樣本點)
num_samples = 1000 synthetic_data = copula.sample(num_samples) synthetic_data.head()
4. 觀察三維散點圖,比較擬合數(shù)據(jù)與真實數(shù)據(jù)的差異
from copulas.visualization import compare_3d compare_3d(data, synthetic_data)

5. 保存與加載模型擬合路徑
對于需要較長時間進行擬合copula模型的數(shù)據(jù),可以擬合一個比較合適的模型后,用save保存這個模型,在每次想采樣新數(shù)據(jù)時用load加載存儲在磁盤上已經(jīng)擬合好的模型。
model_path = 'mymodel.pkl' copula.save(model_path) new_copula = GaussianMultivariate.load(model_path) new_samples = new_copula.sample(num_samples)
6. 提取和設置參數(shù)
在某些情況下,從擬合的連接中獲取參數(shù)比從磁盤中保存和加載參數(shù)更有用??梢允褂?code>to_dict方法提取copula模型的參數(shù):
copula_params = copula.to_dict()
一旦有了所有的參數(shù),就可以使用from_dict創(chuàng)建一個新的相同的Copula模型:
new_copula = GaussianMultivariate.from_dict(copula_params) # 用新模型生成新的參數(shù): new_samples = new_copula.sample(num_samples)
到此這篇關于python Copula 實現(xiàn)繪制散點模型的文章就介紹到這了,更多相關python Copula 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python讀寫數(shù)據(jù)讀寫csv文件(pandas用法)
這篇文章主要介紹了python讀寫數(shù)據(jù)讀寫csv文件(pandas用法),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12

