python Copula 实现绘制散点模型
作者:北冰洋的喵 发布时间:2023-07-24 14:02:37
标签:python,Copula,绘制,散点,模型
一、使用copula生成合成数据集(synthetic dataset)
1. 三维数据描述
建立一个三维数据表,查看三维数据的散点图:
from copulas.datasets import sample_trivariate_xyz
data = sample_trivariate_xyz()
from copulas.visualization import scatter_3d
scatter_3d(data)
2. 使用高斯copula对数据集建模
使用GaussianMultivariate
(自动)估计x、y、z的边缘分布和联合分布,从而能够对数据集建模。
from copulas.multivariate import GaussianMultivariate
copula = GaussianMultivariate()
copula.fit(data)
3. 使用拟合后的模型生成新的数据集
使用sample
按拟合好的边际分布生成1000个新的样本点(每个编辑分布都生成1000个样本点,3个边际分布生成3000个样本点)
num_samples = 1000
synthetic_data = copula.sample(num_samples)
synthetic_data.head()
4. 观察三维散点图,比较拟合数据与真实数据的差异
from copulas.visualization import compare_3d
compare_3d(data, synthetic_data)
5. 保存与加载模型拟合路径
对于需要较长时间进行拟合copula模型的数据,可以拟合一个比较合适的模型后,用save
保存这个模型,在每次想采样新数据时用load
加载存储在磁盘上已经拟合好的模型。
model_path = 'mymodel.pkl'
copula.save(model_path)
new_copula = GaussianMultivariate.load(model_path)
new_samples = new_copula.sample(num_samples)
6. 提取和设置参数
在某些情况下,从拟合的连接中获取参数比从磁盘中保存和加载参数更有用。可以使用to_dict
方法提取copula模型的参数:
copula_params = copula.to_dict()
一旦有了所有的参数,就可以使用from_dict
创建一个新的相同的Copula模型:
new_copula = GaussianMultivariate.from_dict(copula_params)
# 用新模型生成新的参数:
new_samples = new_copula.sample(num_samples)
来源:https://blog.csdn.net/weixin_39982225/article/details/125662273?spm=1001.2100.3001.7377&utm_medium=distribute.pc_feed_blog.none-task-blog-personrec_tag-1-125662273-null-null.nonecase&depth_1-utm_source=distribute.pc_feed_blog.none-task-blog-personrec_tag-1-125662273-null-null.nonecase


猜你喜欢
- 使用散点图矩阵图,可以两两发现特征之间的联系pd.plotting.scatter_matrix(frame, alpha=0.5, c,f
- re.group()用法在正则表达式中,re.group()方法是用来提取出分组截获的字符串,匹配模式里的括号用于分组。举例说明:#!/us
- 一、任务实现一个4 层的全连接网络实现二分类任务,网络输入节点数为2,隐藏层的节点数设计为:25,50,25,输出层2 个节点,分别表示属于
- 服务:# chkconfig --list 列出所有系统服务# chkconfig --list | grep o
- 1.生成器# 一边循环一边计算的机制,称为生成器:generator;# 创建generator方法:# 1.把一个列表生成式的[]改成()
- 现在越来越多的浏览器有拦截弹出窗口的功能。广告弹出来给拦掉了就无所谓,要是客户在付款时给拦掉了可就不能乱算了。Gmail的“哎呀”算是经典,
- 1、需求用户输入当前目录下任意文件名,程序完成对该文件的备份功能。备份文件名为xx[备份]后缀,例如:test[备份].txt。2、步骤接收
- 网上搜一下对应的版本号,版本号相对应。安装django有两种方式:1.pip安装pip install django这个方法我用的时候已经报
- javascript作为一个动态语言,动态解析脚本的方法非常多,如万恶又万能的eval,低调的Function,IE独占的execScrip
- 一、流程分析分析发现密码加密,且发送POST请求时header必须携带x-csrftoken,否则是报403。而x-csrftoken是在第
- Python函数库众多,而且在不断更新,所以学习这些函数库最有效的方法,就是阅读Python官方文档。同时借助Google和百度。本文介绍的
- 目录假想场景基本思路pywinauto方案win32gui方案更一般的方案利用Python进行Excel自动化操作的过程中,尤其是涉及VBA
- 主要内容1.函数基本语法及特性2.参数与局部变3.返回值 4.递归5.名函数 6.函数式编程介绍7.阶函数 8.内置函数函数基本语法及特性定
- mysql数据库报ERROR 1045 (28000): Access denied for user 'ODBC'@
- 逻辑判断内容滚动到底需要知道的信息内容区域的真实高度(也就是滚动区域)滚动条距离顶部的位置内容区域的可见高度分别对应下面的三个API。ele
- 本文实例讲述了Python编程实现的简单Web服务器。分享给大家供大家参考,具体如下:最近有个需求,就是要创建一个简到要多简单就有多简单的w
- 多条ROC曲线绘制函数def multi_models_roc(names, sampling_methods, colors, X_tes
- Python文字转语音(调研&成品函数)由于项目需要, 我需要将文字转换为语音, 那么第一步就要进行调研什么是语音合成技术?语音合成
- 题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、
- 前言最近天气好像有了点小脾气,总是在万分晴朗得时候耍点小性子~阴会天,下上一会的雨~提醒我们时刻记得带伞哦,不然会被雨淋或者被太阳公公晒到