ESL3.5 学习笔记(主成分回归,偏最小二乘回归步骤详解)

article/2025/5/10 16:49:16

3.5 运用派生输入方向的方法

这是一篇有关《统计学习基础》,原书名The Elements of Statistical Learning的学习笔记,该书学习难度较高,有很棒的学者将其翻译成中文并放在自己的个人网站上,翻译质量非常高,本博客中有关翻译的内容都是出自该学者的网页,个人解读部分才是自己经过查阅资料和其他学者的学习笔记,结合个人理解总结成的原创内容。
有关ESL更多的学习笔记的markdown文件,可在作者GitHub上查看下载。

原文The Elements of Statistical Learning
翻译szcf-weiya
时间2018-08-21
解读Hytn Chen
更新2020-02-20

翻译原文

!!! note “weiya 注:翻译”
Derived Input Directions 翻译为“派生输入方向”.

在很多情形下我们有很多输入,这些输入的相关性经常是非常强的.这一小节中的方法产生较少的原输入变量 X j X_j Xj 的线性组合 Z m , m = 1 , 2 , … , M Z_m,m=1,2,\ldots,M Zm,m=1,2,,M,然后 Z m Z_m Zm 用来代替 X j X_j Xj 来作为回归的输入.这些方法区别于怎样构造线性组合.

主成分回归

在这种方法下,使用的线性组合 Z m Z_m Zm 是在前面 3.4.1 节中定义的主成分.

主成分回归构造派生的输入列 z m = X v m \mathbf z_m=\mathbf Xv_m zm=Xvm,然后在 z 1 , z 2 , … , z M , M ≤ p \mathbf z_1,\mathbf z_2,\ldots,\mathbf z_M,\; M\le p z1,z2,,zM,Mp 上回归 y \mathbf y y.因为 z m \mathbf z_m zm 是正交的,则这个回归只是单变量回归的和

y ^ ( M ) p c r = y ˉ 1 + ∑ m = 1 M θ ^ m z m (3.61) \hat{\mathbf y}^{pcr}_{(M)}=\bar y\mathbf 1+\sum\limits_{m=1}^M\hat{\theta}_m\mathbf z_m\tag{3.61} y^(M)pcr=yˉ1+m=1Mθ^mzm(3.61)

其中, θ ^ m = ⟨ z m , y ⟩ / ⟨ z m , z m ⟩ \hat\theta_m=\langle \mathbf z_m,\mathbf y\rangle/\langle\mathbf z_m,\mathbf z_m\rangle θ^m=zm,y/zm,zm.(该表示法详见ESL3.2)因为每个 z m \mathbf z_m zm 是原输入变量 x j \mathbf x_j xj 的线性组合,我们可以将解 (3.61) 表达成关于 x j \mathbf x_j xj 的系数(练习 3.13):

β ^ p c r ( M ) = ∑ m = 1 M θ ^ m v m (3.62) \hat\beta^{pcr}(M)=\sum\limits_{m=1}^M\hat\theta_mv_m\tag{3.62} β^pcr(M)=m=1Mθ^mvm(3.62)

岭回归下,主成分依赖输入 x j \mathbf x_j xj 的放缩尺度,所以一般地我们首先对它们进行标准化.注意到如果 M = p M=p M=p,我们就会回到通常的最小二乘估计,因为列 Z = U D \mathbf Z=\mathbf U\mathbf D Z=UD 张成了 X \mathbf X X 的列空间.对于 M < p M < p M<p 我们得到一个降维的回归问题.我们看到主成分回归与岭回归非常相似:都是通过输入矩阵的主成分来操作的.岭回归对主成分系数进行了收缩,收缩更多地依赖对应特征值的大小;主成分回归丢掉 p − M p-M pM 个最小的特征值分量.图 3.17 说明了这一点

在这里插入图片描述

图 3.17 岭回归运用 (3.47) 中的收缩因子 d j 2 / ( d j 2 + λ ) d_j^2/(d_j^2+\lambda) dj2/(dj2+λ) 来收缩主成分回归的系数.主成分回归截断了它们. 图中显示了图 3.7 对应的收缩和截断模式作为主成分指标的函数.

在图 3.7 中我们看到交叉验证表明有 7 项;最终模型在表 3.3 中有最低的测试误差.

偏最小二乘

这个技巧也构造了一系列用于回归的输入变量的线性组合,但是与主成分回归不同的是它采用 y \mathbf y y(除了 X \mathbf X X)来构造.和主成分回归相同的是,偏最小二乘 (PLS) 也不是尺度不变 (scale invariant) 的,所以我们假设每个 x j \mathbf x_j xj 标准化使得均值为 0 、方差为 1.一开始,PLS 对每个 j j j 计算 φ ^ 1 j = ⟨ x j , y ⟩ \hat \varphi_{1j}=\langle \mathbf x_j, \mathbf y\rangle φ^1j=xj,y.从这里我们构造新的派生输入变量 z 1 = ∑ j φ ^ 1 j x j \mathbf z_1=\sum_j\hat \varphi_{1j}\mathbf x_j z1=jφ^1jxj,这是第一偏最小二乘方向.因此在每个 z m \mathbf z_m zm 的构造中,输入变量通过判断其在 y \mathbf y y 上的单变量影响强度来加权

!!! note “weiya 注:原书脚注”
因为 x j \rm{x}_j xj 已经标准化,第一方向 φ ^ 1 j \hat\varphi_{1j} φ^1j 是单变量回归的系数(乘以某不相关的常数);但对接下来的方向不是这样.

输出变量 y \mathbf y y z 1 \mathbf z_1 z1 上回归便得到系数 θ ^ 1 \hat \theta_1 θ^1,然后我们对 x 1 , x 2 , … , x p \mathbf x_1,\mathbf x_2,\ldots,\mathbf x_p x1,x2,,xp 进行关于 z 1 \mathbf z_1 z1 的正交化.我们继续这个过程,直到得到 M ≤ p M\le p Mp 个方向.在这种方式下,偏最小二乘得到一系列派生的、正交化的输入或者方向 z 1 , z 2 , … , z M \mathbf z_1,\mathbf z_2,\ldots, \mathbf z_M z1,z2,,zM.和主成分回归一样,如果我们构造所有 M = p M=p M=p 个方向,我们会得到一个等价于普通最小二乘估计的解;如果使用 M < p M< p M<p 个方向会得到一个低维的回归.这个过程将在算法 3.3 中详细描述.

!!! note “weiya 注:”
a \mathbf a a 上回归 b \mathbf b b(或者称作 b \mathbf b b a \mathbf a a 上回归)指的是
b \mathbf b b a \mathbf a a 上的无截距的简单单变量回归,回归系数为
γ ^ = ⟨ a , b ⟩ ⟨ a , a ⟩ \hat \gamma = \dfrac{\langle \mathbf a,\mathbf b\rangle}{\langle \mathbf a,\mathbf a\rangle} γ^=a,aa,b
​ 同时这一过程也称作 b \mathbf b b 关于 a \mathbf a a 正交化
在这里插入图片描述


算法 3.3 偏最小二乘


  1. x j \mathbf x_j xj标准化使得均值为0、方差为1.令 y ^ ( 0 ) = y ˉ 1 \hat{\mathbf y}^{(0)}=\bar y\mathbf 1 y^(0)=yˉ1, 并且 x j ( 0 ) = x j , j = 1 , … , p \mathbf x_j^{(0)}=\mathbf x_j,\;j=1,\ldots,p xj(0)=xj,j=1,,p.
  2. 对于 m = 1 , 2 , … , p m=1,2,\ldots,p m=1,2,,p
    1. z m = ∑ j = 1 p φ ^ m j x j ( m − 1 ) \mathbf z_m=\sum_{j=1}^p\hat \varphi_{mj}\mathbf x_j^{(m-1)} zm=j=1pφ^mjxj(m1), 其中 φ ^ m j = ⟨ x j ( m − 1 ) , y ⟩ \hat \varphi_{mj}=\langle\mathbf x_j^{(m-1)},\mathbf y\rangle φ^mj=xj(m1),y
    2. θ ^ m = ⟨ z m , y ⟩ / ⟨ z m , z m ⟩ \hat \theta_m=\langle \mathbf z_m, \mathbf y\rangle/\langle \mathbf z_m,\mathbf z_m\rangle θ^m=zm,y/zm,zm
    3. y ^ ( m ) = y ^ ( m − 1 ) + θ ^ m z m \hat{\mathbf y}^{(m)}=\hat{\mathbf y}^{(m-1)}+\hat\theta_m\mathbf z_m y^(m)=y^(m1)+θ^mzm
    4. 对每个 x j ( m − 1 ) \mathbf x_j^{(m-1)} xj(m1)关于 z m \mathbf z_m zm正交化: x j ( m ) = x j ( m − 1 ) − ⟨ z m , x j ⟩ ⟨ z m , z m ⟩ z m , j = 1 , 2 , … , p . \mathbf x_j^{(m)}=\mathbf x_j^{(m-1)}-\dfrac{\langle \mathbf z_m,\mathbf x_j\rangle}{\langle \mathbf z_m,\mathbf z_m\rangle}\mathbf z_m,\; j=1,2,\ldots,p. xj(m)=xj(m1)zm,zmzm,xjzm,j=1,2,,p.
  3. 输出拟合向量序列 { y ( m ) ^ } 1 p \{\hat{\mathbf y^{(m)}}\}^p_1 {y(m)^}1p.因为 { z ℓ } 1 m \{\mathbf z_\ell\}^m_1 {z}1m关于原输入变量 x j \mathbf x_j xj为线性的,所以是 y ^ ( m ) = X β ^ p l s ( m ) \hat {\mathbf y}^{(m)}=\mathbf X \hat \beta^{pls}(m) y^(m)=Xβ^pls(m).这些线性系数可以通过PLS转换的序列重新得到.

在前列腺癌的例子中,交叉验证在图 3.7 中选择 M = 2 M=2 M=2 个 PLS 方向.这得到了表 3.3 最右边的列的模型.

偏最小二乘求解的是什么优化问题呢?因为它使用响应变量 y \mathbf y y 去构造它的方向,所以它解的路径是关于 y \mathbf y y 的非线性函数.可以证明(练习 3.15)偏最小二乘寻找有高方差以及和响应变量有高相关性的方向,而与之相对的主成分分析回归只重视高方差(Stone and Brooks, 19901; Frank and Friedman, 19932).特别地,第 m m m 个主成分方向 v m v_m vm 是下面问题的解:

max ⁡ α V a r ( X α ) s t ∥ α ∥ = 1 , α T S v ℓ = 0 , ℓ = 1 , … , m − 1 (3.63) \begin{aligned}\max_{\alpha} &\rm{Var}(\mathbf X\alpha)\\\rm{st}&\Vert \alpha\Vert=1,\alpha^T\mathbf Sv_\ell=0,\;\ell=1,\ldots,m-1\end{aligned}\tag{3.63} αmaxstVar(Xα)α=1,αTSv=0,=1,,m1(3.63)

其中, S \mathbf S S x j \mathbf x_j xj 的样本协方差矩阵. α T S v ℓ = 0 \alpha^T\mathbf Sv_\ell=0 αTSv=0 保证了 z m = X α \mathbf z_m=\mathbf X\alpha zm=Xα 与之前所有的线性组合 z ℓ = v ℓ \mathbf z_\ell=\mathbf v_\ell z=v 都不相关.第 m m m 个 PLS 方向 φ ^ m \hat \varphi_m φ^m 是下面的解:

max ⁡ α C o r r 2 ( y , X α ) V a r ( X α ) s t ∥ α ∥ = 1 , α T S φ ^ ℓ = 0 , ℓ = 1 , … , m − 1 (3.64) \begin{aligned}\max_\alpha& \mathrm{Corr}^2(\mathbf y,\mathbf X\alpha)\rm{Var}(\mathbf X\alpha)\\\rm{st}& \Vert\alpha\Vert=1,\alpha^T\mathbf S\hat \varphi_\ell=0,\ell=1,\ldots,m-1\end{aligned}\tag{3.64} αmaxstCorr2(y,Xα)Var(Xα)α=1,αTSφ^=0,=1,,m1(3.64)

进一步的分析揭示了,方差项趋向于占主导地位,而且因此偏最小二乘表现得很像岭回归和主成分回归.我们将在下一节讨论这些.

如果输入矩阵 X \mathbf X X 是正交的,则偏最小二乘会经过 m = 1 m=1 m=1 步找到最小二乘估计.后续的步骤不起作用,因为 m > 1 时 , φ ^ m j = 0 m >1\text{时},\hat \varphi_{mj}=0 m>1φ^mj=0练习 3.14).

也可以证明 m = 1 , 2 , … , p m=1,2,\ldots,p m=1,2,,p 时的 PLS 系数序列表示计算最小二乘解时的共轭梯度(练习 3.18).

regression tools (with discussion), Technometrics 35(2): 109–148.

个人解读

主成分分析基本思想

这段概念基于特征值与特征向量展开,主成分分析是利用降维的思想,将多个变量转化为少数几个综合变量(即主成分),其中每个主成分都是原始变量的线性组合,各主成分之间互不相关,从而这些主成分能够反映始变量的绝大部分信息,且所含的信息互不重叠。它是一个线性变换,这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次类推。主成分分析经常用减少数据集的维数,同时保持数据集的对方差贡献最大的特征。

对特征值与特征向量博客的两个解读(该文解释的特征值与特征向量有助于理解主成分分析,值得详读)

对于BU的理解:实现了数据集在特征向量这组正交基上的投影,其实,这里的正交基就是用一组新的U来代替了原本的X,就像书中之前的公式讲的那样,是线性变换。注意U是对称阵,所以计算才make sense,才是投影。

对特征值的理解:参考这篇博客。其实就是这个待分解的矩阵B,其作用于特征向量上不会改变特征向量的方向,所以特征向量和矩阵的本质有关,但是如果矩阵把特征向量进行线性变换后拉伸的值越大,那这个特征向量就越具备代表意义。

对于偏最小二乘的算法部分描述如下

算法 3.3 偏最小二乘


  1. x j \mathbf x_j xj标准化使得均值为0、方差为1.令 y ^ ( 0 ) = y ˉ 1 \hat{\mathbf y}^{(0)}=\bar y\mathbf 1 y^(0)=yˉ1, 并且 x j ( 0 ) = x j , j = 1 , … , p \mathbf x_j^{(0)}=\mathbf x_j,\;j=1,\ldots,p xj(0)=xj,j=1,,p.
  2. 对于 m = 1 , 2 , … , p m=1,2,\ldots,p m=1,2,,p
    1. z m = ∑ j = 1 p φ ^ m j x j ( m − 1 ) \mathbf z_m=\sum_{j=1}^p\hat \varphi_{mj}\mathbf x_j^{(m-1)} zm=j=1pφ^mjxj(m1), 其中 φ ^ m j = ⟨ x j ( m − 1 ) , y ⟩ \hat \varphi_{mj}=\langle\mathbf x_j^{(m-1)},\mathbf y\rangle φ^mj=xj(m1),y
    2. θ ^ m = ⟨ z m , y ⟩ / ⟨ z m , z m ⟩ \hat \theta_m=\langle \mathbf z_m, \mathbf y\rangle/\langle \mathbf z_m,\mathbf z_m\rangle θ^m=zm,y/zm,zm
    3. y ^ ( m ) = y ^ ( m − 1 ) + θ ^ m z m \hat{\mathbf y}^{(m)}=\hat{\mathbf y}^{(m-1)}+\hat\theta_m\mathbf z_m y^(m)=y^(m1)+θ^mzm
    4. 对每个 x j ( m − 1 ) \mathbf x_j^{(m-1)} xj(m1)关于 z m \mathbf z_m zm正交化: x j ( m ) = x j ( m − 1 ) − ⟨ z m , x j ⟩ ⟨ z m , z m ⟩ z m , j = 1 , 2 , … , p . \mathbf x_j^{(m)}=\mathbf x_j^{(m-1)}-\dfrac{\langle \mathbf z_m,\mathbf x_j\rangle}{\langle \mathbf z_m,\mathbf z_m\rangle}\mathbf z_m,\; j=1,2,\ldots,p. xj(m)=xj(m1)zm,zmzm,xjzm,j=1,2,,p.
  3. 输出拟合向量序列 { y ( m ) ^ } 1 p \{\hat{\mathbf y^{(m)}}\}^p_1 {y(m)^}1p.因为 { z ℓ } 1 m \{\mathbf z_\ell\}^m_1 {z}1m关于原输入变量 x j \mathbf x_j xj为线性的,所以是 y ^ ( m ) = X β ^ p l s ( m ) \hat {\mathbf y}^{(m)}=\mathbf X \hat \beta^{pls}(m) y^(m)=Xβ^pls(m).这些线性系数可以通过PLS转换的序列重新得到.

对于第二步的第一部分,其实这里的 x j \mathbf{x}_j xj y \mathbf y y之所以是向量是因为有N个样本,而系数就可以理解为两个向量的点乘,点乘感性理解可以代表相似度。那如何计算当前m步下的 z m \mathbf{z}_m zm呢?当m是1的时候,所有的x都是标准化的,所以把每个单变量在y上面的影响强度作为权重,先加权求和得出第一个方向 z 1 \mathbf{z}_1 z1

对于第二步的第二部分,就是将y在该方向上进行回归,得到系数 θ ^ m \hat \theta_m θ^m

对于第二步的第三部分,就是把当前方向上的分量加进之前的预测向量中去,进一步接近 y ^ \hat {\mathbf y} y^

对于第二步的第四部分相当于对于每个 x j \mathbf{x}_j xj,减去其在 z m \mathbf{z}_m zm投影的部分(在 z m \mathbf z_m zm上回归 x j \mathbf{x}_j xj得到系数再乘 z m \mathbf{z}_m zm),留下的残差向量就是和 z m \mathbf{z}_m zm正交的部分,该步骤相关概念的理解可参考ESL3.2的图3.4。感性理解就是, z m \mathbf z_m zm这个方向已经计算结束分离出来了,需要将其在其他x上面的分量全都清离出去,也就是对每个 x j ( m − 1 ) \mathbf x_j^{(m-1)} xj(m1)关于 z m \mathbf z_m zm正交化。


  1. Stone, M. and Brooks, R. J. (1990). Continuum regression: cross-validated sequentially constructed prediction embracing ordinary least squares, partial least squares and principal components regression (Corr: V54 p906-907), Journal of the Royal Statistical Society, Series B 52: 237–269. ↩︎

  2. Frank, I. and Friedman, J. (1993). A statistical view of some chemometrics ↩︎


http://chatgpt.dhexx.cn/article/ShwMbyPl.shtml

相关文章

R语言高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据

最近我们被客户要求撰写关于高维数据惩罚回归的研究报告&#xff0c;包括一些图形和统计输出。 主成分分析PCA降维方法和R语言分析葡萄酒可视化实例 主成分分析PCA降维方法和R语言分析葡萄酒可视化实例 &#xff0c;时长04:30 1 介绍 在本文中&#xff0c;我们将研究以下主题…

回归预测 | MATLAB实现PCR(主成分回归)多输入单输出

回归预测 | MATLAB实现PCR(主成分回归)多输入单输出(PCA Regression) MATLAB实现数据降维的PCA(主成分分析)函数有pca和pcacov两个。 pca函数可以直接利用原始数据进行主成分分析; pcacov函数针对原始数据的协方差矩阵进行主成分分析,本程序实现了两种分析方法的预测结果对比…

Python数据分析案例22——财经新闻可信度分析(线性回归,主成分回归,随机森林回归)

本次案例还是适合人文社科领域&#xff0c;金融或者新闻专业。本科生做线性回归和主成分回归就够了&#xff0c;研究生还可以加随机森林回归&#xff0c;其方法足够人文社科领域的硕士毕业论文了。 案例背景 有八个自变量&#xff0c;[微博平台可信度,专业性,可信赖性,转发量,…

matlab实现主成分回归

主成分回归就是先对数据进行主成分分析&#xff0c;再进行多元线性回归。 主成分分析参考上篇博客&#xff0c;蹦篇博客介绍多元线性回归及其MATLAB实现。 多元线性回归是一种常用的线性建模方法。如果有两个或两个以上的自变量&#xff0c;就称为多元回归。事实上&#xff0c;…

R语言主成分回归(PCR)、 多元线性回归特征降维分析光谱数据和汽车油耗、性能数据

最近我们被客户要求撰写关于主成分回归的研究报告&#xff0c;包括一些图形和统计输出。 什么是PCR&#xff1f;&#xff08;PCR PCA MLR&#xff09; • PCR是处理许多 x 变量的回归技术 • 给定 Y 和 X 数据&#xff1a; • 在 X 矩阵上进行 PCA – 定义新变量&#xff1…

主成分回归python实现

主成分分析python实现 这是我一直都想写的内容&#xff0c;但是迟迟没有动手开始写&#xff0c;主要的原因是没有理解python中PCA降维后再进行回归时应该要怎么做。再网上查了很多资料&#xff0c;也没有这方面的讲解&#xff0c;书上也是讲到了PCA降维就结束了。以下是我使用…

基于R语言的主成分回归(PCR)与Lasso回归在水稻基因组预测中的对比(生信数基实验作业)

基于R语言的主成分回归&#xff08;PCR&#xff09;与Lasso回归在水稻基因组预测中的对比 0 引言 全基因组选择是 21 世纪动植物育种的一种重要的选择策略&#xff0c;其核心就是全基因组预测&#xff0c;即基于分布在整个基因组上的多样性分子标记来对育种值进行预测&#x…

SPSS 特征筛选、主成分回归

小数据 → y&#xff1a;连续性变量 → x&#xff1a;6个以内 → 理论 → 验证 → 统计分析&#xff1b; 大数据 → y&#xff1a;分类变量 → x&#xff1a;15个以内 → 探索 → 数据挖掘&#xff1b; 一、X的选择流程 业务&#xff08;业务专家&#xff09;&#xff1a;运…

R语言中的岭回归、套索回归、主成分回归:线性模型选择和正则化

概述和定义 在本文中&#xff0c;我们将考虑一些线性模型的替代拟合方法&#xff0c;除了通常的 普通最小二乘法。这些替代方法有时可以提供更好的预测准确性和模型可解释性。最近我们被客户要求撰写关于模型选择的研究报告&#xff0c;包括一些图形和统计输出。 主成分分析P…

主成分分析应用之主成分回归

主成分回归分析 对于OXY数据集的变量解释如下&#xff1a; 对上述数据进行回归模型的拟合&#xff0c;得到模型&#xff1a; 从模型的显著性检验结果看出&#xff1a;除了常数项以及β3显著&#xff0c;其他变量系数都不通过显著性检验。同时&#xff0c;从模型整体拟合效果来看…

高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据...

全文链接&#xff1a;http://tecdat.cn/?p23378 在本文中&#xff0c;我们将使用基因表达数据。这个数据集包含120个样本的200个基因的基因表达数据。这些数据来源于哺乳动物眼组织样本的微阵列实验&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 相关视频 …

主成分回归分析实战教程

本文介绍主成分回归分析(Principal Components Regression)&#xff0c;并通过示例展示其实现过程。 给定p个预测变量和响应变量&#xff0c;多元线性回归使用如最小二乘法获得最小误差平方和(RSS)&#xff1a; RSS Σ ( y i – y ^ i ) 2 {Σ(y_i – ŷ_i)^2} Σ(yi​–y^​…

机器学习——数据的共线性问题(岭回归、LASSO回归、逐步回归、主成分回归)

一、如何检验共线性 容忍度&#xff08;Trlerance&#xff09;&#xff1a;容忍度是每个自变量作为因变量对其他自变量进行回归建模时得到的残差比例&#xff0c;大小用1减得到的决定系数来表示。容忍度的值介于0和1之间&#xff0c;如果值越小&#xff0c;说明这个自变量与其…

TI的CC2530单片机检测不同类型的方波

之前仅检测过一个引脚上一种方波信号&#xff0c;现在要再引脚上区分三种不同的波形。着实头大了好一会儿。 要检测的三种波形如下图所示&#xff1a; 每种波形的持续长度为500us,时间间隔为10ms. 比如我们在P0_2上检测这个波形&#xff0c;首先要对P0_2进行初始化操作&#…

单片机|CC2530实验入门

本教程为实验入门&#xff0c;手把手教你编译一个工程 一、USB驱动 仿真器设备的连接 【说明】USB接口不够可以使用USB集线器扩展&#xff0c;且互相不会干扰&#xff0c;非常方便。 由于用到了CC仿真器&#xff08;smart RF04EB&#xff09;&#xff0c;需要相关驱动。连接…

CC2530单片机延时函数实际测试

因为要检测不同的波形&#xff0c;所以对时间要求很高&#xff0c;但是发现Zstack本身提供的微秒级的延时其实有误差。 因此特地写了测试函数&#xff0c;然后用示波器观察了时间。详细如下&#xff1a; 先说CC2530与普通8051单片机时钟的不同&#xff0c;CC2530的每个指令是一…

ZigBee无线传感——CC2530单片机定时器1PWM输出

定时器1&#xff08;16位&#xff09; 时器1是一个独立的16位定时器&#xff0c;支持典型的定时/计数功能&#xff0c;比如输入捕获&#xff0c;输出比较和PWM功能。 定时器有五个独立的捕获/比较通道。每个通道定时器使用一个I/O引脚。定时器用于范围广泛的控制和测量应用&am…

基于ZigBee cc2530单片机多传感器的智能阳台仿真设计与实现

文章目录 摘 要&#xff1a;关键词&#xff1a;ZigBee 、语音识别、智能家居、传感器 0.引言1.概述2&#xff0e;系统总体设计2.1系统组成2、系统使用流程3、开发环境 2.2系统传感器构成2.3系统数据库设计 3&#xff0e;系统详细设计与实现4&#xff0e;系统测试结果5&#xff…

CC2530单片机精确延时的时间分析

CC2530单片机精确延时的时间分析 IAR 仿真时如何得知运行周期for循环的时间计算使用反汇编工具计算延时时间验证讨论CC2530与普通8051单片机时钟的不同 IAR 仿真时如何得知运行周期 关于这个问题&#xff0c;网上有很多好文章&#xff0c;讲得很清楚。IAR的操作很简单&#xf…

嵌入式cc2530单片机ZigBee-流水灯的实验

嵌入式cc2530单片机ZigBee 单片机是一种集成电路芯片&#xff0c;包含中央处理器CPU、随机存储器RAM、只读存储器ROM、输入输出I/O接口、中断控制系统、定时/计数器和通信等多种功能部件 其针脚定义如下&#xff1a; 1.0 --P0、P1各8个针脚&#xff08;1字节8位&#xff0c;…