置信椭圆原理以及椭圆图形绘制方式
作者:qq_24591139 发布时间:2021-04-24 04:25:04
标签:置信椭圆,椭圆,图形绘制
置信椭圆原理及椭圆图形绘制
置信椭圆长短轴计算
def confidence_oval(self,factor, ppf_rate):
pca1_std = np.std(factor.iloc[:, 0])
pca2_std = np.std(factor.iloc[:, 1])
f_value = scipy.stats.f.ppf(ppf_rate, dfn=2, dfd=factor.iloc[:, 0].shape[0] - 2)
x_axis = np.sqrt(
pca1_std ** 2 * f_value * 2 * ((factor.iloc[:, 0].shape[0] - 1) / (factor.iloc[:, 0].shape[0] - 2)))
y_axis = np.sqrt(
pca2_std ** 2 * f_value * 2 * ((factor.iloc[:, 0].shape[0] - 1) / (factor.iloc[:, 0].shape[0] - 2)))
x_axis = '%.2f' % x_axis
y_axis = '%.2f' % y_axis
return x_axis, y_axis
Python图形绘制
def elli_plot(self,full_data, ellipse, y):
'''
:param full_data: pls后的点
:param ellipse: [椭圆长轴,椭圆短轴]
:param y:
:return:
'''
fig = plt.figure(figsize=(15, 5))
ax = fig.add_subplot(111)
elli = Ellipse(xy=(0, 0), width=float(ellipse[0]) * 2, height=float(ellipse[1]) * 2)
ax.add_patch(elli)
# 偏厚
outlier_data = y.loc[y[y.columns[0]] == 3, :]
# 偏薄
outlier_data_less = y.loc[y[y.columns[0]] == 1, :]
inner_data = full_data['pls']['pls'].loc[full_data['pls']['pls'].index.isin(outlier_data.index.tolist()+outlier_data_less.index.tolist()) == False, :]
ax.plot(outlier_data.iloc[:, 0], outlier_data.iloc[:, 1], 'ro')
ax.plot(outlier_data_less.iloc[:, 0], outlier_data_less.iloc[:, 1], 'bo')
ax.plot(inner_data.iloc[:, 0], inner_data.iloc[:, 1], 'yo')
name = str(self.picture_id)
plt.savefig("E:\\shhl\\1118_两次PLS\\偏厚\\图\\"+name+".png")
self.picture_id = self.picture_id +1
plt.show()
from matplotlib.patches import Ellipse, Circle
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ell1 = Ellipse(xy = (0.0, 0.0), width = 4, height = 8, angle = 30.0, facecolor= 'yellow', alpha=0.3)
cir1 = Circle(xy = (0.0, 0.0), radius=2, alpha=0.5)
ax.add_patch(ell1)
ax.add_patch(cir1)
x, y = 0, 0
ax.scatter([0,1], [0,1],color='red')
ax.scatter([2,1], [1,1],color='green')
plt.axis('scaled')
plt.axis('equal') #changes limits of x or y axis so that equal increments of x and y have the same length
plt.show()
置信椭圆-python
卡方概率表:https://people.richland.edu/james/lecture/m170/tbl-chi.html
opencv画椭圆:https://docs.opencv.org/2.4.9/modules/core/doc/drawing_functions.html?highlight=ellipse#cv2.ellipse
numpy.linalg.eig() 特征向量求解矩阵:https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.linalg.eig.html
cov = np.cov(x, y) #计算协方差矩阵
lambda_, v = np.linalg.eig(cov) # 计算矩阵特征向量
lambda_ = np.sqrt(lambda_)
s=4.605 #根据置信区间查卡方概率表 95% 5.991 99% 9.21 90% 4.605
ax = plt.subplot(111, aspect=‘equal')
ell = Ellipse(xy=(np.mean(x), np.mean(y)),
width=lambda_[0]*np.sqrt(s) *2, height=lambda_[1]*np.sqrt(s)*2,
angle=np.rad2deg(np.arccos(v[0, 0])),facecolor=‘yellow',alpha=0.3)
ax.add_artist(ell)
plt.scatter(x, y)
plt.axis(‘scaled')
plt.axis(‘equal')
plt.show()
来源:https://blog.csdn.net/qq_24591139/article/details/103309708


猜你喜欢
- 导入模块import configparser # py3写入config = configparser.ConfigParser()con
- 对象存储(Cloud Object Storage,COS)是一种存储海量文件的分布式存储服务,具有高扩展性、低成本、可靠安全等优点。对象存
- 在目标检测中一个很重要的问题就是NMS及IOU计算,而一般所说的目标检测检测的box是规则矩形框,计算IOU也非常简单,有两种方法:1. 两
- 约定:import pandas as pdimport numpy as npReIndex重新索引reindex()是pandas对象的
- MySQL是目前十分流行的一种关系型数据库管理系统。官网推出的安装包有两种格式,分别是:ZIP格式和MSI格式。其中MSI格式的可以直接点击
- #/usr/bin/env/python#coding=utf-8import sys,re,time,osmaxdata = 50000
- 实例如下所示:import numpy as npimport pandas as pddata = {'city': [&
- 对于vue.js中的this.emit的理解:this.emit(‘increment1',”这个位子是可以加参数的”);其实它的作
- 微博热搜的爬取较为简单,我只是用了lxml和requests两个库url= https://s.weibo.com/top/summary?
- 本节列出了可以运行MySQL的操作系统。我们使用GNU Autoconf,因此将MySQL移植到所有使用Posix线程和C++编译器的现代系
- 这是初始状态 输入文字变成这样,这里会区分圆角半角,2个半角的文字算一个。 这个是超出的样子 如果超出了点击提
- 默认情况下Python的logging模块将日志打印到了标准输出中,且只显示了大于等于WARNING级别的日志,这说明默认的日志级别设置为W
- 到目前为止,我们连接的都是两张不同的表,那么能不能对一张表进行自我连接呢?答案是肯定的。有没有必要对一张表进行自我连接呢?答案也是肯定的。
- 前言本文主要给大家介绍了关于使用Python通过subprocess调用adb命令,subprocess包主要功能是执行外部命令(相对Pyt
- 介绍与创建型模式类似,工厂模式创建对象(视为工厂里的产品)时无需指定创建对象的具体类。工厂模式定义一个用于创建对象的接口,这个接口由子类决定
- 昨天在网上看到一个防采集软件,说采集只访问当前网页,不会访问网页的图片、JS等,今天突然想到,通过动态程序和Js访问分别记录访问者的IP,然
- shapefile是GIS中非常重要的一种数据类型,在ArcGIS中被称为要素类(Feature Class),主要包括点(point)、线
- python之Pyperclip模块下面介绍一下,python中的Pyperclip模块,它的简单又实用,主要用法就2点:1.用于复制剪贴板
- 基本属性cv2.imread(文件名,属性) 读入图像属性:指定图像用哪种方式读取文件 cv2.IMREAD_COLOR:读入彩色图像,默认
- 代码很简单,会继续完善。。。 按住鼠标键不动,拖动鼠标,会看到效果 <html> <head&