一. 数据的各种分析
-
数据点数
-
均值
-
中位数
-
众数
-
标准差
-
方差
-
极差
-
四分位距
-
偏度
-
峰度
-
四分位数
-
十分位数
-
百分位数
-
皮尔逊相关系数
-
斯皮尔曼相关系数
-
肯德尔相关系数
-
协方差
-
Jarque-Bera正态性检验
-
Lilliefors正态性检验
-
Kolmogorov-Smirnov检验
-
单样本t检验
-
双样本方差检验
-
符号检验
-
3σ原则异常值检测
-
IQR方法异常值检测
-
Grubbs异常值检验
-
自相关函数
-
移动平均
-
指数加权移动平均
-
核密度估计
二. MATLAB代码
% MATLAB对随机数据进行30种统计分析的完整代码
clc;close all;clear all;warning off;%清除变量
rand('seed', 100);
randn('seed', 100);
format long g;
% 生成随机数据(正态分布)
n = 1000; % 数据点数
data = randn(n, 1) * 10 + 50; % 均值50,标准差10
% 添加一些异常值
data(randperm(n, 20)) = data(randperm(n, 20)) + 30;
% 生成第二组数据用于相关性分析
data2 = data * 0.7 + randn(n, 1) * 5 + 20;
fprintf('=== 基本描述性统计 ===\n');
% 1. 数据点数
fprintf('1. 数据点数: %d\n', length(data));
% 2. 均值
mean_val = mean(data);
fprintf('2. 均值: %.4f\n', mean_val);
% 3. 中位数
median_val = median(data);
fprintf('3. 中位数: %.4f\n', median_val);
% 4. 众数
mode_val = mode(data);
fprintf('4. 众数: %.4f\n', mode_val);
% 5. 标准差
std_val = std(data);
fprintf('5. 标准差: %.4f\n', std_val);
% 6. 方差
var_val = var(data);
fprintf('6. 方差: %.4f\n', var_val);
% 7. 极差
range_val = range(data);
fprintf('7. 极差: %.4f\n', range_val);
% 8. 四分位距
iqr_val = iqr(data);
fprintf('8. 四分位距: %.4f\n', iqr_val);
% 9. 偏度
skewness_val = skewness(data);
fprintf('9. 偏度: %.4f\n', skewness_val);
% 10. 峰度
kurtosis_val = kurtosis(data);
fprintf('10. 峰度: %.4f\n', kurtosis_val);
fprintf('\n=== 分位数分析 ===\n');
% 11. 四分位数
quartiles = quantile(data, [0.25, 0.5, 0.75]);
fprintf('11. 四分位数 - Q1: %.4f, Q2: %.4f, Q3: %.4f\n', quartiles(1), quartiles(2), quartiles(3));
% 12. 十分位数
deciles = quantile(data, 0.1:0.1:0.9);
fprintf('12. 十分位数: \n');
for i = 1:9
fprintf(' D%d: %.4f\n', i, deciles(i));
end
% 13. 百分位数
percentiles = prctile(data, [5, 10, 25, 50, 75, 90, 95]);
fprintf('13. 关键百分位数:\n');
fprintf(' 5th: %.4f, 10th: %.4f, 25th: %.4f\n', percentiles(1), percentiles(2), percentiles(3));
fprintf(' 50th: %.4f, 75th: %.4f, 90th: %.4f, 95th: %.4f\n', percentiles(4), percentiles(5), percentiles(6), percentiles(7));
fprintf('\n=== 相关性分析 ===\n');
% 14. 皮尔逊相关系数
pearson_corr = corr(data, data2);
fprintf('14. 皮尔逊相关系数: %.4f\n', pearson_corr);
% 15. 斯皮尔曼秩相关系数
spearman_corr = corr(data, data2, 'type', 'Spearman');
fprintf('15. 斯皮尔曼相关系数: %.4f\n', spearman_corr);
% 16. 肯德尔秩相关系数
kendall_corr = corr(data, data2, 'type', 'Kendall');
fprintf('16. 肯德尔相关系数: %.4f\n', kendall_corr);
% 17. 协方差
covariance = cov(data, data2);
fprintf('17. 协方差矩阵:\n');
disp(covariance);
fprintf('\n=== 分布检验 ===\n');
% 18. 正态性检验 (Jarque-Bera)
[h_jb, p_jb] = jbtest(data);
fprintf('18. Jarque-Bera正态性检验 - h: %d, p-value: %.4f\n', h_jb, p_jb);
% 19. 正态性检验 (Lilliefors)
[h_lillie, p_lillie] = lillietest(data);
fprintf('19. Lilliefors正态性检验 - h: %d, p-value: %.4f\n', h_lillie, p_lillie);
% 20. Kolmogorov-Smirnov检验
pd = fitdist(data, 'Normal');
[h_ks, p_ks] = kstest(data, 'CDF', pd);
fprintf('20. KS检验 - h: %d, p-value: %.4f\n', h_ks, p_ks);
fprintf('\n=== 假设检验 ===\n');
% 21. t检验 (检验均值是否为50)
[h_ttest, p_ttest, ci, stats] = ttest(data, 50);
fprintf('21. 单样本t检验 - h: %d, p-value: %.4f\n', h_ttest, p_ttest);
fprintf(' 95%%置信区间: [%.4f, %.4f]\n', ci(1), ci(2));
% 22. 方差齐性检验
[h_var, p_var] = vartest2(data, data2);
fprintf('22. 双样本方差检验 - h: %d, p-value: %.4f\n', h_var, p_var);
% 23. 符号检验
[h_sign, p_sign] = signtest(data, median_val);
fprintf('23. 符号检验 - h: %d, p-value: %.4f\n', h_sign, p_sign);
fprintf('\n=== 异常值检测 ===\n');
% 24. 基于3σ原则的异常值
z_scores = zscore(data);
outliers_3sigma = find(abs(z_scores) > 3);
fprintf('24. 3σ原则检测到的异常值数量: %d\n', length(outliers_3sigma));
% 25. 基于IQR的异常值
Q1 = quartiles(1);
Q3 = quartiles(3);
IQR = Q3 - Q1;
lower_bound = Q1 - 1.5 * IQR;
upper_bound = Q3 + 1.5 * IQR;
outliers_iqr = find(data < lower_bound | data > upper_bound);
fprintf('25. IQR方法检测到的异常值数量: %d\n', length(outliers_iqr));
% 26. Grubbs检验(简化版)
try
[h_grubbs, p_grubbs] = grubbs_test(data);
fprintf('26. Grubbs异常值检验 - h: %d\n', h_grubbs);
catch
% 如果没有grubbs_test函数,使用替代方法
[max_val, max_idx] = max(data);
[min_val, min_idx] = min(data);
G_max = (max_val - mean_val) / std_val;
G_min = (mean_val - min_val) / std_val;
fprintf('26. Grubbs检验替代 - 最大G值: %.4f, 最小G值: %.4f\n', G_max, G_min);
end
fprintf('\n=== 高级统计分析 ===\n');
% 27. 自相关函数
autocorr_lags = 20;
autocorr_vals = xcorr(data, autocorr_lags);
fprintf('27. 前5个自相关系数: ');
fprintf('%.4f ', autocorr_vals(1:min(5, length(autocorr_vals))));
fprintf('\n');
% 28. 移动平均
window_size = 10;
moving_avg = movmean(data, window_size);
fprintf('28. 移动平均计算完成 (窗口大小: %d)\n', window_size);
% 29. 指数加权移动平均
alpha = 0.1;
ewma = filter(alpha, [1 alpha-1], data);
fprintf('29. 指数加权移动平均计算完成 (alpha: %.2f)\n', alpha);
% 30. 核密度估计
[f, xi] = ksdensity(data);
fprintf('30. 核密度估计完成 (%d个点)\n', length(f));
% 创建综合统计图表
figure('Position', [100, 100, 1200, 800]);
% 子图1: 直方图和核密度估计
subplot(2,3,1);
histogram(data, 30, 'Normalization', 'pdf', 'FaceColor', [0.7 0.7 0.9]);
hold on;
plot(xi, f, 'r-', 'LineWidth', 2);
xlabel('数值');
ylabel('概率密度');
title('直方图和核密度估计');
legend('直方图', '核密度估计');
grid on;
% 子图2: 箱线图
subplot(2,3,2);
boxplot(data);
title('箱线图');
ylabel('数值');
grid on;
% 子图3: Q-Q图
subplot(2,3,3);
qqplot(data);
title('Q-Q图 (正态性检验)');
grid on;
% 子图4: 自相关函数
subplot(2,3,4);
xcorr(data, autocorr_lags);
title('自相关函数');
% 子图5: 散点图和相关分析
subplot(2,3,5);
scatter(data, data2, 20, 'filled', 'MarkerFaceAlpha', 0.6);
xlabel('数据1');
ylabel('数据2');
title(sprintf('散点图 (r=%.3f)', pearson_corr));
grid on;
% 子图6: 累积分布函数
subplot(2,3,6);
cdfplot(data);
hold on;
x_values = linspace(min(data), max(data), 100);
plot(x_values, normcdf(x_values, mean_val, std_val), 'r--');
title('累积分布函数');
legend('经验CDF', '正态CDF', 'Location', 'southeast');
grid on;
% 添加总体标题
sgtitle('随机数据的综合统计分析', 'FontSize', 14, 'FontWeight', 'bold');
% 生成统计摘要报告
fprintf('\n=== 统计摘要报告 ===\n');
fprintf('数据特征:\n');
fprintf(' - 样本大小: %d\n', n);
fprintf(' - 中心趋势: 均值=%.2f, 中位数=%.2f\n', mean_val, median_val);
fprintf(' - 离散程度: 标准差=%.2f, 方差=%.2f\n', std_val, var_val);
fprintf(' - 分布形状: 偏度=%.2f, 峰度=%.2f\n', skewness_val, kurtosis_val);
fprintf(' - 异常值: %d个(3σ), %d个(IQR)\n', length(outliers_3sigma), length(outliers_iqr));
if p_jb > 0.05
fprintf(' - 正态性: 数据符合正态分布(p=%.3f)\n', p_jb);
else
fprintf(' - 正态性: 数据不符合正态分布(p=%.3f)\n', p_jb);
end
% 保存关键统计量到结构体
stats_summary = struct();
stats_summary.data_size = n;
stats_summary.mean = mean_val;
stats_summary.median = median_val;
stats_summary.std = std_val;
stats_summary.skewness = skewness_val;
stats_summary.kurtosis = kurtosis_val;
stats_summary.normality_p = p_jb;
stats_summary.correlation = pearson_corr;
stats_summary.outliers_3sigma = outliers_3sigma;
stats_summary.outliers_iqr = outliers_iqr;
fprintf('\n分析完成!共执行了30种统计分析。\n');
% 如果需要Grubbs检验函数,这里提供替代版本
function [h, p] = grubbs_test(x, alpha)
if nargin < 2
alpha = 0.05;
end
n = length(x);
G = max(abs(x - mean(x))) / std(x);
t_critical = tinv(1 - alpha/(2*n), n-2);
G_critical = (n-1)/sqrt(n) * sqrt(t_critical^2/(n-2 + t_critical^2));
h = G > G_critical;
p = 1 - (2*n)*tcdf(-G_critical*sqrt(n/(n-1+G_critical^2)), n-2);
end
三.程序结果
=== 基本描述性统计 ===
1. 数据点数: 1000
2. 均值: 51.0877
3. 中位数: 50.6482
4. 众数: 13.5539
5. 标准差: 11.3616
6. 方差: 129.0854
7. 极差: 85.5797
8. 四分位距: 15.5018
9. 偏度: 0.2923
10. 峰度: 3.5441
=== 分位数分析 ===
11. 四分位数 - Q1: 43.1583, Q2: 50.6482, Q3: 58.6601
12. 十分位数:
D1: 36.9441
D2: 41.4449
D3: 45.0397
D4: 47.7175
D5: 50.6482
D6: 53.5654
D7: 56.6498
D8: 60.3226
D9: 65.2215
13. 关键百分位数:
5th: 33.5752, 10th: 36.9441, 25th: 43.1583
50th: 50.6482, 75th: 58.6601, 90th: 65.2215, 95th: 70.3906
=== 相关性分析 ===
14. 皮尔逊相关系数: 0.8551
15. 斯皮尔曼相关系数: 0.8417
16. 肯德尔相关系数: 0.6520
17. 协方差矩阵:
129.085411965697 93.3248848960688
93.3248848960688 92.2744793298448
=== 分布检验 ===
18. Jarque-Bera正态性检验 - h: 1, p-value: 0.0010
19. Lilliefors正态性检验 - h: 0, p-value: 0.1714
20. KS检验 - h: 0, p-value: 0.5893
=== 假设检验 ===
21. 单样本t检验 - h: 1, p-value: 0.0025
95%置信区间: [50.3827, 51.7928]
22. 双样本方差检验 - h: 1, p-value: 0.0000
23. 符号检验 - h: 1, p-value: 0.0000
=== 异常值检测 ===
24. 3σ原则检测到的异常值数量: 10
25. IQR方法检测到的异常值数量: 10
26. Grubbs异常值检验 - h: 1
=== 高级统计分析 ===
27. 前5个自相关系数: 2561023.7911 2568998.3224 2553181.0334 2565869.0025 2568982.8220
28. 移动平均计算完成 (窗口大小: 10)
29. 指数加权移动平均计算完成 (alpha: 0.10)
30. 核密度估计完成 (100个点)
=== 统计摘要报告 ===
数据特征:
- 样本大小: 1000
- 中心趋势: 均值=51.09, 中位数=50.65
- 离散程度: 标准差=11.36, 方差=129.09
- 分布形状: 偏度=0.29, 峰度=3.54
- 异常值: 10个(3σ), 10个(IQR)
- 正态性: 数据不符合正态分布(p=0.001)
分析完成!共执行了30种统计分析。
>>
四.代码、程序订制(MATLAB、Python) →QQ:1579325979
4.1 各类智能算法
中文名称 |
英文全称 |
缩写 |
出现年份 |
遗传算法 |
Genetic Algorithm |
GA |
1975 |
粒子群优化算法 |
Particle Swarm Optimization |
PSO |
1995 |
蚁群优化算法 |
Ant Colony Optimization |
ACO |
1992 |
模拟退火算法 |
Simulated Annealing |
SA |
1983 |
免疫优化算法 |
Immune Optimization Algorithm |
IA |
1986 |
贪婪算法 |
Greedy Algorithm |
- |
1970 |
差分进化算法 |
Differential Evolution |
DE |
1997 |
混合蛙跳算法 |
Shuffled Frog Leaping Algorithm |
SFLA |
2003 |
人工蜂群算法 |
Artificial Bee Colony |
ABC |
2005 |
人工鱼群算法 |
Artificial Fish Swarm Algorithm |
AFSA |
2002 |
萤火虫算法 |
Glowworm Swarm Optimization |
GSO |
2005 |
果蝇优化算法 |
Fruit Fly Optimization Algorithm |
FOA |
2011 |
布谷鸟搜索算法 |
Cuckoo Search |
CS |
2009 |
猴群算法 |
Monkey Algorithm |
MA |
2008 |
免疫网络算法 |
Immune Network Algorithm |
aiNet |
2000 |
水滴算法 |
Intelligent Water Drops Algorithm |
IWD |
2007 |
和声搜索算法 |
Harmony Search |
HS |
2001 |
克隆选择算法 |
Clonal Selection Algorithm |
CLONALG |
2000 |
禁忌搜索算法 |
Tabu Search |
TS |
1986 |
爬山算法 |
Hill Climbing |
HC |
1940 |
引力搜索算法 |
Gravitational Search Algorithm |
GSA |
2009 |
细菌觅食优化算法 |
Bacterial Foraging Optimization |
BFO |
2002 |
蝙蝠算法 |
Bat Algorithm |
BA |
2010 |
邻域搜索算法 |
Neighborhood Search |
NS |
1960 |
变邻域搜索算法 |
Variable Neighborhood Search |
VNS |
1997 |
蜜蜂交配优化算法 |
Honey Bees Mating Optimization |
HBMO |
2001 |
文化基因算法 |
Memetic Algorithm |
MA |
1989 |
烟花算法 |
Fireworks Algorithm |
FWA |
2010 |
思维进化算法 |
Mind Evolutionary Algorithm |
MEA |
1998 |
蜻蜓算法 |
Dragonfly Algorithm |
DA |
2016 |
虚拟力场算法 |
Virtual Force Field Algorithm |
VFF |
1989 |
遗传规划 |
Genetic Programming |
GP |
1992 |
鲸鱼优化算法 |
Whale Optimization Algorithm |
WOA |
2016 |
灰狼优化算法 |
Grey Wolf Optimizer |
GWO |
2014 |
狼群算法 |
Wolf Pack Algorithm |
WPA |
2007 |
鸡群优化算法 |
Chicken Swarm Optimization |
CSO |
2014 |
生物地理学优化算法 |
Biogeography-Based Optimization |
BBO |
2008 |
分布估计算法 |
Estimation of Distribution Algorithm |
EDA |
1996 |
帝国竞争算法 |
Imperialist Competitive Algorithm |
ICA |
2007 |
天牛须搜索算法 |
Beetle Antennae Search Algorithm |
BAS |
2017 |
头脑风暴优化算法 |
Brain Storm Optimization |
BSO |
2011 |
人工势场法 |
Artificial Potential Field |
APF |
1986 |
猫群算法 |
Cat Swarm Optimization |
CSO |
2006 |
蚁狮优化算法 |
Ant Lion Optimizer |
ALO |
2015 |
飞蛾火焰优化算法 |
Moth-Flame Optimization |
MFO |
2015 |
蘑菇繁殖优化算法 |
Mushroom Reproduction Optimization |
MRO |
2020 |
麻雀搜索算法 |
Sparrow Search Algorithm |
SSA |
2020 |
水波优化算法 |
Water Wave Optimization |
WWO |
2015 |
斑鬣狗优化算法 |
Spotted Hyena Optimizer |
SHO |
2017 |
雪融优化算法 |
Snow Ablation Optimization |
SAO |
2022 |
蝴蝶优化算法 |
Butterfly Optimization Algorithm |
BOA |
2019 |
磷虾群算法 |
Krill Herd Algorithm |
KHA |
2012 |
黏菌算法 |
Slime Mould Algorithm |
SMA |
2020 |
人类学习优化算法 |
Human Learning Optimization |
HLO |
2014 |
母亲优化算法 |
Mother Optimization Algorithm |
MOA |
2023 |
4.2各类优化问题
各种优化课题 |
各种优化课题 |
车间调度 |
路由路网优化 |
机场调度 |
顺序约束项目调度 |
工程项目调度 |
双层规划 |
港口调度 |
零件拆卸装配问题优化 |
生产线平衡问题 |
水资源调度 |
用电调度 |
库位优化 |
公交车发车调度 |
库位路线优化 |
车辆路径物流配送优化 |
武器分配优化 |
选址配送优化 |
覆盖问题优化 |
物流公铁水问题优化 |
管网问题优化 |
供应链、生产计划、库存优化 |
PID优化 |
库位优化、货位优化 |
VMD优化 |
4.3各类神经网络、深度学习、机器学习
序号 |
模型名称 |
核心特点 |
适用场景 |
1 |
BiLSTM 双向长短时记忆神经网络分类 |
双向捕捉序列上下文信息 |
自然语言处理、语音识别 |
2 |
BP 神经网络分类 |
误差反向传播训练 |
通用分类任务 |
3 |
CNN 卷积神经网络分类 |
自动提取空间特征 |
图像、视频分类 |
4 |
DBN 深度置信网络分类 |
多层受限玻尔兹曼机堆叠 |
特征学习、降维 |
5 |
DELM 深度学习极限学习机分类 |
结合 ELM 与深度架构 |
复杂分类任务 |
6 |
ELMAN 递归神经网络分类 |
含反馈连接的递归结构 |
时间序列、语音 |
7 |
ELM 极限学习机分类 |
随机生成隐藏层,快速训练 |
小样本学习 |
8 |
GRNN 广义回归神经网络分类 |
基于径向基函数回归 |
函数逼近、时间序列 |
9 |
GRU 门控循环单元分类 |
门控机制简化 LSTM |
序列建模 |
10 |
KELM 混合核极限学习机分类 |
结合多核 ELM |
高维复杂数据 |
11 |
KNN 分类 |
基于距离的分类方法 |
模式识别 |
12 |
LSSVM 最小二乘法支持向量机分类 |
最小二乘优化 SVM |
小样本分类 |
13 |
LSTM 长短时记忆网络分类 |
门控机制处理长期依赖 |
语言建模 |
14 |
MLP 全连接神经网络分类 |
多层感知机 |
通用分类 |
15 |
PNN 概率神经网络分类 |
基于贝叶斯原理 |
模式识别 |
16 |
RELM 鲁棒极限学习机分类 |
增强鲁棒性的 ELM |
噪声数据 |
17 |
RF 随机森林分类 |
多棵决策树集成 |
高维、非线性数据 |
18 |
SCN 随机配置网络模型分类 |
随机生成网络结构 |
快速训练 |
19 |
SVM 支持向量机分类 |
寻找最优分类超平面 |
二分类、多分类 |
20 |
XGBOOST 分类 |
梯度提升决策树 |
大规模结构化数据 |
21 |
ANFIS 自适应模糊神经网络预测 |
融合模糊逻辑与神经网络 |
复杂非线性系统建模 |
22 |
ANN 人工神经网络预测 |
多层神经元网络 |
通用预测任务 |
23 |
ARMA 自回归滑动平均模型预测 |
线性时间序列建模 |
时间序列预测 |
24 |
BF 粒子滤波预测 |
基于蒙特卡洛采样 |
动态系统状态估计 |
25 |
BiLSTM 双向长短时记忆神经网络预测 |
双向捕捉序列信息 |
时间序列、文本预测 |
26 |
BLS 宽度学习神经网络预测 |
增量学习结构 |
在线学习 |
27 |
BP 神经网络预测 |
误差反向传播训练 |
通用预测 |
28 |
CNN 卷积神经网络预测 |
自动特征提取 |
图像、视频预测 |
29 |
DBN 深度置信网络预测 |
多层无监督预训练 |
特征学习预测 |
30 |
DELM 深度学习极限学习机预测 |
结合 ELM 与深度结构 |
复杂预测任务 |
31 |
DKELM 回归预测 |
动态核 ELM 回归 |
时间序列回归 |
32 |
ELMAN 递归神经网络预测 |
递归结构处理时序 |
时间序列 |
33 |
ELM 极限学习机预测 |
快速训练 |
小样本回归 |
34 |
ESN 回声状态网络预测 |
储备池计算 |
时间序列预测 |
35 |
FNN 前馈神经网络预测 |
前向传播 |
通用预测 |
36 |
GMDN 预测 |
基因表达数据网络建模 |
生物信息学预测 |
37 |
GMM 高斯混合模型预测 |
多高斯分布建模 |
密度估计、聚类 |
38 |
GRNN 广义回归神经网络预测 |
径向基函数回归 |
函数逼近 |
39 |
GRU 门控循环单元预测 |
门控机制简化 LSTM |
时间序列预测 |
40 |
KELM 混合核极限学习机预测 |
多核 ELM 回归 |
高维回归 |
41 |
LMS 最小均方算法预测 |
线性回归的迭代优化 |
自适应滤波 |
42 |
LSSVM 最小二乘法支持向量机预测 |
最小二乘优化 SVM |
回归预测 |
43 |
LSTM 长短时记忆网络预测 |
门控处理长期依赖 |
时间序列预测 |
44 |
RBF 径向基函数神经网络预测 |
径向基函数逼近 |
函数拟合 |
45 |
RELM 鲁棒极限学习机预测 |
增强鲁棒性的 ELM |
噪声数据回归 |
46 |
RF 随机森林预测 |
决策树集成 |
回归预测 |
47 |
RNN 循环神经网络预测 |
循环连接处理序列 |
时间序列预测 |
48 |
RVM 相关向量机预测 |
稀疏贝叶斯学习 |
回归、分类 |
49 |
SVM 支持向量机预测 |
寻找最优超平面 |
回归预测 |
50 |
TCN 时间卷积神经网络预测 |
一维卷积处理时序 |
时间序列预测 |
51 |
XGBoost 回归预测 |
梯度提升决策树 |
大规模回归 |