数据分析的协方差矩阵和相关矩阵的计算(第一种手动编程实现, 第二种导入库实现)
文章目录
前言一、数据分析的协方差矩阵和相关矩阵的计算(第一种手动编程, 第二种导入库实现)二、使用步骤 1.第一种手动编程实现2.第二种导入库实现总结前言
数据分析的基础就是计算得出协方差矩阵和相关矩阵,然后进一步分析和计算
这次我举两个小例子,便于大家理解和体会
一、协方差矩阵和相关矩阵的手动编程实现
1.实现过程
代码如下(示例):
print('================正常的自己手动编写的算法程序==============')print('.........上课例题,数据已经给定,只是显示方法的执行流程..............')origin_list = [[1, 0, 1, 0], [1, 0, 1, 0], [0, 1, 0, 1], [1, 0, 0, 1]]index_1 = 0avg = [0, 0, 0, 0]for li in origin_list:for num in li:avg[index_1] += num/len(li)index_1 += 1print('各个平均数: ', avg)xiefangcha = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]i = -1for li_1 in origin_list:i += 1j = -1for li_2 in origin_list:j += 1for num_1, num_2 in zip(li_1, li_2):xiefangcha[i][j] += (num_1 - avg[i])*(num_2 - avg[j])/3print('协方差矩阵: ', xiefangcha)xiangguanjuzheng = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]i = 0for xie in xiefangcha:j = 0for xi in xie:xiangguanjuzheng[i][j] = xi/((xiefangcha[i][i]**0.5)*(xiefangcha[j][j]**0.5))j += 1i += 1print('相关矩阵: ', xiangguanjuzheng)
结果如下:
二、协方差矩阵和相关矩阵的导入库实现
1.实现过程
代码如下(示例):
import pandas as pdimport numpy as npmatric = [[1, 0, 1, 0], [1, 0, 1, 0], [0, 1, 0, 1], [1, 0, 0, 1]]covariance_matrix = np.cov(matric)print('============协方差矩阵============')print(covariance_matrix)df = pd.DataFrame({'a': [1, 0, 1, 0],'b': [1, 0, 1, 0],'c': [0, 1, 0, 1],'d': [1, 0, 0, 1]})df_corr = df.corr()print('\n============相关矩阵============')print(df_corr)
实现结果如下:
总结
数据分析还是非常重要的,大家可以了解一下啊