PCA非常好理解,本质上是选择一组新的正交基,将n维空间的数据转换到m维空间中,且m<n。下面给一个简单的示例说明,将一个2维的数据降低到一维表示。

Background: There is a list of numbers who stand for a curve. Can we describe the curve using less points, such as a line.
First Method: fitting the curve by using least square method. The Model is “y = ax + b”.
Second Method: finding one eigenvector standing for the curve by using PCA.

背景: 我们有一组数据表示一个平面上的曲线,为了减少存储数据的数量,我们是否可以用更少的点描述曲线,比如一条线。
方法一:用线性拟合
方法二:用主成分分析法

pd_analysis.csv

920 -3.7764
1520 -0.4437
2120 3.3307
2720 8.0182
3320 11.8022

clc;clear
% Input
data = csvread('pd_analysis.csv');
pos = (data(1:end,1))';
disparity = (data(1:end,2))';
curve = [disparity; pos];
plot(curve(1,:),curve(2,:),'b.');

First Method:

[p, S] = polyfit(curve(1,:),curve(2,:), 1);
x = min(curve(1,:)) : 1 : max(curve(1,:));
y = polyval(p,x,S);
hold on
plot(x, y, 'r--','LineWidth',2)


Second Method

% PCA
X = curve';
[coeff,score,roots] = pca(X);
meanX = mean(X,1);
[n,~] = size(X);
Xfit = repmat(meanX,n,1) + score(:,1)*coeff(:,1)';
dirVect = coeff(:,1);
t = [min(score(:,1))-.2, max(score(:,1))+.2];
endpts = [meanX + t(1)*dirVect'; meanX + t(2)*dirVect'];
K = dirVect(2)/dirVect(1)
plot(endpts(:,1),endpts(:,2),'k-');

基于PCA主成分分析的线性拟合相关推荐

  1. 中药材鉴别-方法:聚类;PCA 主成分分析;线性判别式分析;判别式检验

    基于线性判别式的中药材鉴别问题的数学模型 摘要 本文旨在讨论如何利用中药材的光谱特征鉴别药材的种类及产地,主要运用 系统聚类,PCA 主成分分析,线性判别,判别式运用等方法,使用了 MATLAB,Ex ...

  2. 基于PCA主成分分析的BP神经网络回归预测MATLAB代码

    基于PCA主成分分析的BP神经网络回归预测MATLAB代码 代码注释清楚. 先对数据集进行主成分分析,自主根据贡献率选择主成分:同时计算KMO验证值:用PCA以后数据进行BP神经网络回归预测. 可以读 ...

  3. 数据分析案例-基于PCA主成分分析法对葡萄酒数据进行分析

  4. 07_数据降维,降维算法,主成分分析PCA,NMF,线性判别分析LDA

    1.降维介绍 保证数据所具有的代表性特性或分布的情况下,将高维数据转化为低维数据. 聚类和分类都是无监督学习的典型任务,任务之间存在关联,比如某些高维数据的分类可以通过降维处理更好的获得. 降维过程可 ...

  5. 基于matlab数据线性拟合回归

    1 选题背景及意义 在统计学中,线性回归是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析.这种函数是一个或多个称为回归系数的模型参数的线性组合.只有一个自变 ...

  6. python 物理实验_基于Python和梯度下降算法的物理实验数据一元线性拟合方法

    基于 Python 和梯度下降算法的物理实验数据一元线性拟 合方法 关毅铬 ; 程敏熙 [期刊名称] < <物理通报> > [年 ( 卷 ), 期] 2019(000)010 ...

  7. [PyTorch] 基于Python和PyTorch的线性拟合

    用神经网络实现线性拟合,代码源自<深度学习入门之pytorch>,本人根据新版本的PyTorch做了挺大的修改. <深度学习入门之pytorch>的使用体验 关于这个书好不好, ...

  8. PCA主成分分析(PCA降维)

    PCA主成分分析 PCA任务介绍 公式推导 算法实现 降维是对数据高维度特征的一种预处理方法. 降维是将高维度的数据保留下最重要的一些特征,去除噪声和不重要的特征,从而实现提升数据处理速度的目的.在实 ...

  9. [学习笔记] [机器学习] 8. 聚类算法(聚类算法:K-means、K-means++;聚类算法评估;特征降维:特征选择(Pearson相关系数、Spearman相关系数)、PCA主成分分析)

    视频链接 数据集下载地址:无需下载 1. 聚类算法简介 学习目标: 掌握聚类算法实现过程 知道 K-means 算法原理 知道聚类算法中的评估模型 说明 K-means 的优缺点 了解聚类中的算法优化 ...

最新文章

  1. 【luogu 3375】【模板】KMP字符串匹配
  2. Java Mocking入门—使用Mockito
  3. liferay requestrequest和actionRequest用法
  4. 计算机系统-电路设计02-与门电路
  5. mysql安装设置数据目录下_Windows下修改MySQL安装目录和MySQL数据目录
  6. win10卓越性能模式
  7. 【琐识】日常获取知识随笔
  8. 软件开发工作经验分享
  9. videobox,一个错误的名字
  10. 商汤科技VS旷视科技VS依图科技(转)
  11. c语言某天星期几,计算某天是星期几【C代码】
  12. 人工智能数学基础3:部分数学符号以及自然数、整数、有理数和实数的势
  13. 文件大小与占用空间大小(附带字节转KB,MB公式)
  14. [渝粤教育] 天津师范大学 中学地理教学设计 参考 资料
  15. Android 内存卡 / Micro SD 卡 / TF 卡 / 存储卡 剩余容量 / 剩余内存 / 可用空间、总容量的 2 种获取方式
  16. DDIM代码详细解读(3):核心采样代码、超分辨率重建
  17. 基于JAVA计算机类专业考研交流学习平台计算机毕业设计源码+数据库+lw文档+系统+部署
  18. windowmediaplayer控件出现未能加载的问题
  19. naming conflicts with other components【vue3】
  20. Mac下github的基本使用(有详细过程)

热门文章

  1. Spring和Spring Framework的理解
  2. GPS参数中PDOP
  3. matlab中高斯核公式,Matlab版LibSVM定义线性核和高斯核的使用方法
  4. Linux系统如何联网
  5. 如何在游戏中设计等构建筑?
  6. 2023全球Top1000计算机科学家发布,中国96名科学家上榜,总数世界第二
  7. Directx11基础教程二之Directx11初始化
  8. 抓取baidu数字证书
  9. matlab求下列表达式的值,编程求下列表达式的值
  10. Vue项目中如何使用Echarts 及Echarts中echarts-liquidfill水晶球插件