第一部分 理论部分
(注:对以上的扩展涉及到矩、协方差矩阵)
第二部分 实验部分
# 编译器:python 3.6# 作 者:寒木雅# 计算样本期望(均值)、方差、标准差、协方差、相关系数import numpy as np # 生成随机样本X,YX = np.random.randint(0,10,100)Y = np.random.randint(0,10,100)# 计算期望X_mean = X.mean()Y_mean = Y.mean()print("X,Y的期望分别为{}{}".format(X_mean,Y_mean))# 计算方差(法二:标准差与方差可通过平方与开方转换)# 在此应该区分有偏方差与无无偏方差,ddof为默认为0,表示有偏方差,若设置为1,则计算结果为无偏方差X_var = np.var(X, ddof = 0)Y_var = np.var(X, ddof = 0)print("X,Y的方差分别为{}{}".format(X_var,Y_var))# 计算标准差(法二:标准差与方差可通过平方与开方转换)X_std = np.std(X, ddof = 0)Y_std = np.std(Y, ddof = 0)print("X,Y的标准差分别为{}{}".format(X_std,Y_std))# 计算X,Y的协方差,此处算出来为一个协方差矩阵,协方差为Cov(i,j),Cov(i,j)=Cov(j,i)Cov_XY = np.cov(X,Y)print("X,Y的协方差为{}".format(Cov_XY[0,1]))# 计算X,Y的相关系数,此处算出来为一个相关系数矩阵,性质与上协方差相同Cor_XY = np.corrcoef(X,Y)print("X,Y的相关系数为{}".format(Cor_XY[0,1]))# 对于以上的结果,可通过理论公式来验证,如下Cov_X = np.mean((X-X.mean())**2)Cov_Y = np.mean((Y-Y.mean())**2)print(Cov_X,Cov_Y)# 方法一Cov_XY = np.mean((X-X.mean())*(Y-Y.mean())print("方法一验证结果:", Cov_XY)#方法二Cov_XY = np.mean(X*Y)-X.mean()*Y.mean()print("方法二验证结果:", Cov_XY)