SPSSPRO数据分析之——CSI数据预处理、降维

目录

一、前言

二、数据准备

三、进行预处理 

四、进行降维任务

五、正态性检测 

六、代码功能


一、前言

SPSSPRO是一款全新的在线数据分析平台,可以用于科研数据的分析、数学建模等,对于那些不会编程或者刚进入科研的新人来说,这款工具再合适不过了。当然本人只是很早之前建模用过,所以有点关公面前武大刀的嫌疑。

二、数据准备

1、首先准备一份数据,这份数据需要表头等信息,我以一份CSI幅值数据为例(300行*30列)。当然表头可以自己打上去,也可以使用MATLAB或者其它程序进行标签。MATLAB打上表头标签:

T = array2table(raw_amp);
writetable(T,'SpassTest.xlsx');

 2、将生成的表格导入spasspro里面,并查看数据:

三、进行预处理 

1、数据处理——>异常值处理

2、 选择三倍标准差进行预处理,对检测出的异常值可以直接剔除,也可以用中位数、平均数、众数等替代,具体根据你的任务来。只需要将m维定量拖进已选变量中就行。

 3、生成处理完成的数据,表头名字由上图第四项决定(我们选择的是默认):

四、进行降维任务

1、根据自己的任务选择合适的降维算法,这里选择PCA算法进行线性降维,如果你的数据是非线性的,可以采用KPCA降维算法。总方差解释率表示降维后保留多少信息,一般选择在90%-99%之间,可以根据自己的任务来。

2、 生成降维后的数据,这里我们是从30维降至15维

3、降维的相关性分析

数据分析——>选择分析项目——>选择相关性分析

 生成降维后的相关性热力图,从热力图也可以看出降维后的特征正交(即互不相关,相关性系数为0)

五、正态性检测 

1、选择算法——>描述性分析——>正态性检测,以第一维度的数据为例:

 上图展示了Dim3数据的正态性检验直方图,若正态图基本上呈现出钟形(中间高,两端低),则说明数据虽然不是绝对正态,但基本可接受为正态分布。从检测的结果来看,30个维度基本可接受为正态分布。

2、正态性检验P-P图

 上图是Dim1计算观测的累计概率(P)与正态累计概率(P)的拟合情况。拟合程度越高越服从正态分布。从检测的结果来看,30个维度基本可接受为正态分布。

六、代码功能

1、SPSSPRO可直接编译python语言

2、 除了提供常用的py库外,还可以自己安装一些开源库

 3、查看SPSSPRO已有的库,或者自己安装的库

4、利用代码进行导入数据的可视化,比如我们的数据是300*30的,进行可视化

(1)导入相应的库和数据

import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_excel('SpassTest.xlsx')

 (2)打印数据

(3)可视化原始数据及三倍标准差处理后的数据

(4)我们发现系统的预处理方法并不是很好,所以自己在notebook写一个预处理程序进行处理 

 是不是觉得效果好多了啊,赶快行动起来吧,开始你的数据分析之旅。

本文链接:https://my.lmcjl.com/post/6052.html

展开阅读全文

4 评论

留下您的评论.