统计分析 -- 判别分析算法模型

简介: 统计分析 -- 判别分析算法模型

统计分析 -- 判别分析算法模型

模型概括

在这里插入图片描述

MATLAB中有一个命令:
d= mahal(Y,X) 计算X矩阵每一个点(行)至Y矩阵中每一个点(行)的马氏距离。
其中: Y的列数必须等于X的列数,但它们的行数可以不同。X的行数必须大于列数。输出d:  d是距离向量。

距离判别分析

在这里插入图片描述
在这里插入图片描述

两总体的距离判别分析

例题

在这里插入图片描述

1.总体协方差矩阵相等
在这里插入图片描述
在这里插入图片描述

apf =  [1.14,1.78;1.18,1.96;1.20,1.86;1.26,2.;1.28,2;1.30,1.96];
af  = [1.24,1.72;1.36,1.74;1.38,1.64;1.38,1.82;1.38,1.90;1.40,1.70;1.48,1.82;1.54,1.82;1.56,2.08];
x = [1.24,1.8;1.28,1.84; 1.4,2.04]; 
%输入原始待判别数据
m1 = mean( apf ); m2 = mean( af ); % 计算样本均值
s1 =  cov(apf); s2 =  cov(af); %  协方差矩阵
%计算总体的协方差矩阵
s = ((length(apf)-1)*s1+(length(af)-1)*s2)/(length(af)+length(apf)-2);
for i=1:length(x)
    %计算判别函数值
    W(i)=(x(i,:)-1/2*(m1+m2))* inv(s)*(m1-m2)';
end   
disp(['判别函数值:',num2str(W)])


plot(apf(:,1),apf(:,2),'rh');
hold on
plot(af(:,1),af(:,2),'bp');
plot(x(:,1),x(:,2),'ko','MarkerFaceColor','y');
apfm  = mean(apf);


plot( apfm (1), apfm(2),'r*','LineWidth',2);
afm = mean(af);
plot( afm (1), afm(2),'b*','LineWidth',2)
legend('apf','af','待判断X','apf均值','af均值')
legend('boxoff')
title('判别分析 距离判别分析 测试案例 协方差矩阵相同的效果')

2.总体协方差矩阵不相等
在这里插入图片描述
在这里插入图片描述

apf =  [1.14,1.78;1.18,1.96;1.20,1.86;1.26,2.;1.28,2;1.30,1.96];
af  = [1.24,1.72;1.36,1.74;1.38,1.64;1.38,1.82;1.38,1.90;1.40,1.70;1.48,1.82;1.54,1.82;1.56,2.08];
x = [1.24,1.8;1.28,1.84; 1.4,2.04]; 
W = mahal(x,apf)-mahal(x,af) %  计算判别函数


plot(apf(:,1),apf(:,2),'rh');
hold on
plot(af(:,1),af(:,2),'bp');
plot(x(:,1),x(:,2),'ko','MarkerFaceColor','y');
apfm  = mean(apf);


plot( apfm (1), apfm(2),'r*','LineWidth',2);
afm = mean(af);
plot( afm (1), afm(2),'b*','LineWidth',2)
legend('apf','af','待判断X','apf均值','af均值')
legend('boxoff')
title('判别分析 距离判别分析 测试案例 协方差矩阵不同的效果')

两种情况的区别

在这里插入图片描述

p=2; alpha  = 0.05;
Q01 = (n1-1)*(log(det(s))-log(det(s1))-p+trace(inv(s)*s1));
Q02 = (n2-1)*(log(det(s))-log(det(s2))-p+trace(inv(s)*s2));
lamda  = chi2inv(1-alpha,3);
if Q01<lamda  && Q02<lamda
disp(' 两总体协方差矩阵相同) .')
end
目录
相关文章
|
2天前
|
缓存 算法 搜索推荐
Java中的算法优化与复杂度分析
在Java开发中,理解和优化算法的时间复杂度和空间复杂度是提升程序性能的关键。通过合理选择数据结构、避免重复计算、应用分治法等策略,可以显著提高算法效率。在实际开发中,应该根据具体需求和场景,选择合适的优化方法,从而编写出高效、可靠的代码。
15 6
|
14天前
|
算法
基于模糊PI控制算法的龙格库塔CSTR模型控制系统simulink建模与仿真
本项目基于MATLAB2022a,采用模糊PI控制算法结合龙格-库塔方法,对CSTR模型进行Simulink建模与仿真。通过模糊控制处理误差及变化率,实现精确控制。核心在于将模糊逻辑与经典数值方法融合,提升系统性能。
|
14天前
|
存储 算法
基于HMM隐马尔可夫模型的金融数据预测算法matlab仿真
本项目基于HMM模型实现金融数据预测,包括模型训练与预测两部分。在MATLAB2022A上运行,通过计算状态转移和观测概率预测未来值,并绘制了预测值、真实值及预测误差的对比图。HMM模型适用于金融市场的时间序列分析,能够有效捕捉隐藏状态及其转换规律,为金融预测提供有力工具。
|
26天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
57 1
|
1月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
92 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
95 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 人工智能 算法
青否数字人声音克隆算法升级,16个超真实直播声音模型免费送!
青否数字人的声音克隆算法全面升级,能够完美克隆真人的音调、语速、情感和呼吸。提供16种超真实的直播声音模型,支持3大AI直播类型和6大核心AIGC技术,60秒快速开播,助力商家轻松赚钱。AI讲品、互动和售卖功能强大,支持多平台直播,确保每场直播话术不重复,智能互动和真实感十足。新手小白也能轻松上手,有效规避违规风险。
|
1月前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
2月前
|
并行计算 算法 IDE
【灵码助力Cuda算法分析】分析共享内存的矩阵乘法优化
本文介绍了如何利用通义灵码在Visual Studio 2022中对基于CUDA的共享内存矩阵乘法优化代码进行深入分析。文章从整体程序结构入手,逐步深入到线程调度、矩阵分块、循环展开等关键细节,最后通过带入具体值的方式进一步解析复杂循环逻辑,展示了通义灵码在辅助理解和优化CUDA编程中的强大功能。
|
2月前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
58 3