本文介绍了SPSSPRO这款在线数据分析平台的使用,包括数据准备、预处理中的异常值处理、降维任务如PCA算法的应用,正态性检测以及描述性统计和频数分析。适合科研新手进行数据分析。
摘要由CSDN通过智能技术生成
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个维度基本可接受为正态分布。
六、描述性统计
首先,对总体的各项统计指标进行整体描述分析。其次,对异常或者表现得较为突出的指标进行分析,例如高方差、高平均值等等。
变量名
|
样本量
|
最大值
|
最小值
|
平均值
|
标准差
|
中位数
|
方差
|
峰度
|
偏度
|
变异系数(CV)
|
Dim1_异常值处理
|
300
|
16.35
|
10.083
|
13.571
|
1.116
|
13.626
|
1.246
|
-0.014
|
-0.291
|
0.08225067000693603
|
Dim2_异常值处理
|
300
|
29.45
|
16.862
|
23.934
|
2.271
|
24.276
|
5.16
|
0.247
|
-0.457
|
0.09490615857836082
|
Dim3_异常值处理
|
300
|
33.724
|
17.32
|
26.124
|
2.949
|
26.382
|
8.696
|
0.259
|
-0.25
|
0.11288086696067898
|
Dim4_异常值处理
|
300
|
31.037
|
15.188
|
23.485
|
2.855
|
23.629
|
8.152
|
0.272
|
-0.124
|
0.12157260045341392
|
.........
|
.........
|
.........
|
.........
|
.........
|
.........
|
.........
|
.........
|
.........
|
.........
|
.........
|
Dim30_异常值处理
|
300
|
4.203
|
0
|
1.877
|
0.852
|
1.826
|
0.726
|
-0.407
|
0.326
|
0.4538913156287607
|
上表展示了描述性统计的结果,包括样本量、最大值、最小值等统计量,用于研究定量数据的整体情况。下图为某个维度的散点图可视化。
七、频数分析
下图展示了频数分析的结果,包括变量、频数、百分比等:
八、代码功能
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写一个预处理程序进行处理
是不是觉得效果好多了啊,赶快行动起来吧,开始你的数据分析之旅。
毕设在用
SPSS
做PCA的时候,遇到一些问题。虽然以前在做数模的时候也遇到过,但是,当时只是照着书上走,做个评价什么的。这次,更深度的思考了一些问题,在这里记录下来,以备今后再次遇到时,能省些力气。
因为我自身并非统计出身,描述中可能会有纰漏,还希望懂行的大佬给予我进行指正,纠正我的错误观念,感谢。
为什么要用PCA?
首先,
降维
是为了将多维的指标(变量)降低维度,以便简化计算,防止维度爆炸之类的...