R语言用标准最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分类...

原文链接:http://tecdat.cn/?p=21379

本文我们对逻辑回归和样条曲线进行介绍点击文末“阅读原文”获取完整代码数据)。

logistic回归基于以下假设:给定协变量x,Y具有伯努利分布,

 outside_default.png

目的是估计参数β。

回想一下,针对该概率使用该函数是

 outside_default.png

(对数)似然函数

对数似然

 outside_default.png

其中outside_default.png。数值方法基于(数值)下降梯度来计算似然函数的 最大值。对数似然(负)是以下函数

negLogLik = function(beta){-sum(-y*log(1 + exp(-(X%*%beta))) - (1-y)*log(1 + exp(X%*%beta)))}

现在,我们需要一个起始点来启动算法

optim(par = beta_init, negLogLik, hessian=TRUE, method = "BFGS", control=list(abstol=1e-9))

在这里,我们得到

logistic_opt$par(Intercept)        FRCAR        INCAR        INSYS    1.656926397  0.045234029 -2.119441743  0.204023835 PRDIA        PAPUL        PVENT        REPUL 
-0.102420095  0.165823647 -0.081047525 -0.005992238

让我们在这里验证该输出是否有效。例如,如果我们(随机)更改起点的值会怎么样

plot(v_beta)
par(mfrow=c(1,2))
hist(v_beta[,1],xlab=names( )[ ])
hist(v_beta[,2],xlab=names( )[2])

outside_default.png

这里有个问题。


点击标题查阅往期内容

outside_default.png

R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例

outside_default.png

左右滑动查看更多

outside_default.png

01

7c91b5637362135c0b22a979f99c3d35.png

02

15cf4c2c5ecacc8b7291632229a17d91.png

03

15077d481e0d9ba24ac099fe9fae9266.png

04

4b55bbcbe5c145460715e7bb43954de4.png

注意,我们不能在这里进行数值优化。我们可以考虑使用其他优化方法

logLikelihoodLogitStable = function(vBeta, mX, vY) {-sum(vY*(mX %*% vBeta - log(1+exp(mX %*% vBeta) + 
(1-vY)*(-log(1 + exp(mX %*% vBeta)) optimLogitLBFGS = optimx(beta_init, logLikelihoodLogitStable,

最优点

244d37b88ccacbee662cce00f6735fb1.png

结果不理想。

我们使用的技术基于以下思想,

 a7119bf407443343269f3b15efc717ac.png

问题是我的计算机不知道一阶和二阶导数。

可以使用这种计算的函数

logit = function(x){1/(1+exp(-x))}for(i in 1:num_iter){grad = (t(X)%*%(logit(X%*%beta) - y)) beta = beta - ginv(H)%*%gradLL[i] = logLik(beta, X, y)

以我们的OLS起点,我们获得

bef9b8e9593fa724df8a5c05f9b02f37.png

如果我们尝试另一个起点

26bf80d808ac1e007c3cf567212e55d1.png

一些系数非常接近。然后我们尝试其他方法。

牛顿(或费舍尔)算法

在计量经济学教科书里,您可以看到:

 df8ebead0243a3d87f955a110ad08c7e.png

 412d0bea009f9be1bb05fb78f6b9e6d8.png

beta=as.matrix(lm(Y~0+X)$coefficientsfor(s in 1:9){pi=exp(X%*%beta[,s])/(1+exp(X%*%beta[,s]))gradient=t(X)%*%(Y-pi)omega=matrix(0,nrow(X),nrow(X));diag(omega)=(pi*(1-pi))

在这里观察到,我仅使用该算法的十次迭代。

76beebb5ddfe35ebea3b268aae016071.png

事实是,收敛似乎非常快。而且它相当鲁棒,看看我们改变起点会得到什么

beta=as.matrix(lm(Y~0+X)$coefficients,ncol=1)*runif(8)for(s in 1:9){pi=exp(X%*%beta[,s])/(1+exp(X%*%beta[,s]))gradient=t(X)%*%(Y-pi)omega=matrix(0,nrow(X),nrow(X));diag(omega)=(pi*(1-pi))Hessian=-t(X)%*%omega%*%Xbeta=cbind(beta,beta[,s]-solve(Hessian)%*%gradient)}beta[,8:10]

28555b63a087443d57833caeeef0849e.png

效果提高了,并且可以使用矩阵的逆获得标准偏差。

普通最小二乘

我们更进一步。我们已经看到想要计算类似

 a261e0d5370da543f96e56cb6e6393b5.png

 但是实际,这是一个标准的最小二乘问题

 911045d16f0029a4ce6a0cb75c28e0f9.png

这里唯一的问题是权重Δold是未知β的函数。但是实际上,如果我们继续迭代,我们应该能够解决它:给定β,我们得到了权重,并且有了权重,我们可以使用加权的OLS来获取更新的β。这就是迭代最小二乘的想法。

该算法

beta_init = lm(PRONO~.,data=df)$coefficientsfor(s in 1:1000){
omega = diag(nrow(df))
diag(omega) = (p*(1-p))

输出在这里

07503d4aba5fbe68e47177652fc8c039.png

结果很好,我们在这里也有估计量的标准差

58f80721c6c8d9a1591e2d4b20bb19a4.png

标准逻辑回归glm函数:

当然,可以使用R内置函数

b1d25efeb50c0ba6af42029b4b0df4ee.png

可视化

让我们在第二个数据集上可视化从逻辑回归获得的预测

image(u,u,v ,breaks=(0:10)/10)
points(x,y,pch=19 )
points(x,y,pch=c(1,19)
contour(u,u,v,levels = .5

32e68b83d8d5c614e79f089878244ebd.png

这里的水平曲线-或等概率-是线性的,因此该空间被一条直线(或更高维的超平面)一分为二(0和1,生存和死亡,白色和黑色)此外,由于我们是线性模型,因此,如果更改截距(为创建两个类别的阈值),我们将获得平行的另一条直线(或超平面)。

接下来,我们将约会样条曲线以平滑那些连续的协变量。

分段线性样条函数

我们从“简单”回归开始(只有一个解释变量),我们可以想到的最简单的模型来扩展我们上面的线性模型, 是考虑一个分段线性函数,它分为两部分。最方便的方法是使用正部函数ab4cab794c5b9230e23dc8eede975237.png(如果该差为正,则为x和s之间的差,否则为0)。如

b9b39310bb5887435ec63566a76ecc9a.png

是以下连续的分段线性函数,在s处划分。

117f9ce4552cac6eb585bb68c58e5c28.png

对于较小的x值,线性增加,斜率β1;对于较大的x值,线性减少。因此,β2被解释为斜率的变化。

当然,可以考虑多个结。获得正值的函数如下

pos = function(x,s) (x-s)*(x<=s)

然后我们可以在回归模型中直接使用它

回归的输出在这里

Coefficients:Estimate Std. Error z value Pr(&gt;|z|)  
(Intercept)     -0.1109     3.2783  -0.034   0.9730  
INSYS           -0.1751     0.2526  -0.693   0.4883  
pos(INSYS, 15)   0.7900     0.3745   2.109   0.0349 *
pos(INSYS, 25)  -0.5797     0.2903  -1.997   0.0458 *

因此,对于很小的值,原始斜率并不重要,但是在15以上时,它会变得明显为正。而在25以上,又发生了重大变化。我们可以对其进行绘图以查看发生了什么

plot(u,v,type="l")
points(INSYS,PRONO)
abline(v=c(5,15,25,55)

3423e5ed836d33b1a6db88c675c3767f.png

使用bs()线性样条曲线

使用GAM模型,情况略有不同。我们将在这里使用所谓的 b样条曲线,

我们可以用边界结点(5,55)和结 {15,25}定义样条函数

B = bs(x,knots=c(15,25),Boundary.knots=c(5,55),degre=1)
matplot(x,B,type="l",lty=1,lwd=2,col=clr6)

ce8beab2b7f08a07dfa8966fdcf0e538.png

如我们所见,此处定义的函数与之前的函数不同,但是在每个段(5,15)(15,25)和(25,55)。但是这些函数(两组函数)的线性组合将生成相同的空间。换个角度说,对输出的解释会不同,预测应该是一样的。

Coefficients:Estimate Std. Error z value Pr(&gt;|z|)  
(Intercept)    -0.9863     2.0555  -0.480   0.6314  
bs(INSYS,..)1  -1.7507     2.5262  -0.693   0.4883  
bs(INSYS,..)2   4.3989     2.0619   2.133   0.0329 *
bs(INSYS,..)3   5.4572     5.4146   1.008   0.3135

观察到像以前一样存在三个系数,但是这里的解释更加复杂了

bede6635420d867065f6adb8eb64bd55.png

但是,预测结果很好。

分段二次样条

让我们再往前走一步...我们是否也可以具有导数的连续性?考虑抛物线函数,不要对5fbaaa3251631e9ddf07b268de56bab2.png5529cc46a559b5a8824beb4ccda3f92b.png进行分解,考虑对db46e93126fa5c7d52b837350d834fab.png8dd360537642c47cf690918e3816b7c3.png进行分解。

Coefficients:Estimate Std. Error z value Pr(&gt;|z|)  
(Intercept)      29.9842    15.2368   1.968   0.0491 *
poly(INSYS, 2)1 408.7851   202.4194   2.019   0.0434 *
poly(INSYS, 2)2 199.1628   101.5892   1.960   0.0499 *
pos2(INSYS, 15)  -0.2281     0.1264  -1.805   0.0712 .
pos2(INSYS, 25)   0.0439     0.0805   0.545   0.5855

不出所料,这里有五个系数:截距和抛物线函数的三个参数,然后是中间两个附加项–此处(15,25)–以及右侧的部分。当然,对于每个部分,只有一个自由度,因为我们有一个抛物线函数(三个系数),但是有两个约束(连续性和一阶导数的连续性)。

在图上,我们得到以下内容

eadf18b86d74483b1dfb39cd630cb088.png

使用bs()二次样条

当然,我们可以使用R函数执行相同的操作。但是和以前一样,这里的函数有所不同

matplot(x,B,type="l",col=clr6)

a08282bc86ec1ddacd29c31e583a3101.png

如果我们运行R代码,得到

glm(y~bs(INSYS knots=c(15,25),
Boundary.knots=c(5,55),degre=2) Coefficients:Estimate Std. Error z value Pr(&gt;|z|)  
(Intercept)       7.186      5.261   1.366   0.1720  
bs(INSYS, ..)1  -14.656      7.923  -1.850   0.0643 .
bs(INSYS, ..)2   -5.692      4.638  -1.227   0.2198  
bs(INSYS, ..)3   -2.454      8.780  -0.279   0.7799  
bs(INSYS, ..)4    6.429     41.675   0.154   0.8774

预测是完全相同的

plot(u,v,ylim=0:1,type="l",col="red")

36c8b71608b13af416ae41674093336c.png

三次样条

我们可以使用三次样条曲线。我们将考虑对1d4ff3bd02a38c8feef2775aa7eb03cf.png进行分解,得到时间连续性,以及前两个导数的连续性。如果我们使用bs函数,则如下

matplot(x,B,type="l",lwd=2,col=clr6,lty=1
abline(v=c(5,15,25,55),lty=2)

19a7e7ba51fda38bba736fa3d619de30.png

现在的预测将是

bs(x,knots=c(15,25),
Boundary.knots=c(5,55),degre=3

98bd777e02306d0874e627a4f48f2367.png

结的位置

在许多应用程序中,我们不想指定结的位置。我们只想说(三个)中间结。可以使用

bs(x,degree=1,df=4)

可以查看

bs(x, degree = 1L, knots = c(15.8, 21.4, 27.15), 
Boundary.knots = c(8.7, 54), intercept = FALSE)

它为我们提供了边界结的位置(样本中的最小值和最大值),也为我们提供了三个中间结。观察到实际上,这五个值只是(经验)分位数

quantile( ,(0:4)/4)0%   25%   50%   75%  100% 8.70 15.80 21.40 27.15 54.00

如果我们绘制预测,我们得到

plot(u,v,ylim=0:1,type="l",col="red",lwd=2)

76d8db6605a5bb356f963a61c740a992.png

如果我们回到logit变换之前的计算,我们清楚地看到断点是不同的分位数 

plot(x,y,type="l",col="red",lwd=2)
abline(v=quantile(my ,(0:4)/4),lty=2)

df8cbb9b5703b3bc61d06b33c158684b.png

如果我们没有指定,则不会得到任何结…

bs(x, degree = 2L, knots = numeric(0), 
Boundary.knots = c(8.7,54), intercept = FALSE)

如果我们看一下预测 

predict(reg,newdata=data.frame(u),type="response")

实际上,这和二次多项式回归是一样的(如预期的那样)

a2c7ca40d0a2e6c580420db6f7aa19d4.png

相加模型 

现在考虑第二个数据集,包含两个变量。这里考虑一个模型

2906cf956c8c6e3f198b81122bec3958.png

909fd07813cdf7c525da401adff2511b.png

7813b10fba760763d9bce91ad59c57b7.png

然后我们用glm函数来实现相加模型的思想。

glm(y~bs(x1,degree=1,df=3)+bs(x2,degree=1,df=3), family=binomial(link =  
v = outer(u,u,p)
image(u,u,v, ",col=clr10,breaks=(0:10)/10)

现在,我们能够得到一个“完美”的模型,所以,结果似乎不再连续

33516fcec90b5ccdc594dd4e7df1316a.png

persp(u,u,v,theta=20,phi=40,col="green"

cea82a88400086d3f7ac65dee001cdbf.png

当然,它是分段线性的,有超平面,有些几乎是垂直的。
我们也可以考虑分段二次函数  

contour(u,u,v,levels = .5,add=TRUE)

72dd7a0835469e23d41f84022e1dff3c.png

有趣的是,我们现在有两个“完美”的模型,白点和黑点的区域不同。 

在R中,可以使用mgcv包来运行gam回归。它用于广义相加模型,但这里只有一个变量,所以实际上很难看到“可加”部分,可以参考其他GAM文章。


e7c23caea8290bcbbb61e3f80b725c11.png

点击文末“阅读原文”

获取全文完整代码数据资料。

本文选自《R语言用标准最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分类》。

5d684bad2476bf54af3481e73e2d483b.jpeg

6ef9a107bf48bb3dc01b3b66987d1750.png

点击标题查阅往期内容

R语言Gibbs抽样的贝叶斯简单线‍性回归仿真分析

R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例

R语言贝叶斯Poisson泊松-正态分布模型分析职业足球比赛进球数

R语言用Rcpp加速Metropolis-Hastings抽样估计贝叶斯逻辑回归模型的参数

R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病

R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归

Python贝叶斯回归分析住房负担能力数据集

R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析

Python用PyMC3实现贝叶斯线性回归模型

R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型

R语言Gibbs抽样的贝叶斯简单线性回归仿真分析

R语言和STAN,JAGS:用RSTAN,RJAG建立贝叶斯多元线性回归预测选举数据

R语言基于copula的贝叶斯分层混合模型的诊断准确性研究

R语言贝叶斯线性回归和多元线性回归构建工资预测模型

R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例

R语言stan进行基于贝叶斯推断的回归模型

R语言中RStan贝叶斯层次模型分析示例

R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化

R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型

WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较

R语言实现MCMC中的Metropolis–Hastings算法与吉布斯采样

R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例

R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化

视频:R语言中的Stan概率编程MCMC采样的贝叶斯模型

R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计

2acebeb52a2338d5aac57dcc25ca86da.png

07239ce1785d5d19ce2981a58116317d.jpeg

9ed3ef7c785101ce97a6b1ae13760161.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/144273.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一篇博客学会系列(1) —— C语言中所有字符串函数以及内存函数的使用和注意事项

目录 1、求字符串长度函数 1.1、strlen 2、字符串拷贝(cpy)、拼接(cat)、比较(cmp)函数 2.1、长度不受限制的字符串函数 2.1.1、strcpy 2.1.2、strcat 2.1.3、strcmp 2.2、长度受限制的字符串函数 2.2.1、strncpy 2.2.2、strncat 2.2.3、strncmp 3、字符串查找函数…

正态分布的概率密度函数|正态分布检验|Q-Q图

正态分布的概率密度函数&#xff08;Probability Density Function&#xff0c;简称PDF&#xff09;的函数取值是指在给定的正态分布参数&#xff08;均值 μ 和标准差 σ&#xff09;下&#xff0c;对于特定的随机变量取值 x&#xff0c;计算得到的概率密度值 f(x)。这个值表示…

借助 ControlNet 生成艺术二维码 – 基于 Stable Diffusion 的 AI 绘画方案

背景介绍 在过去的数月中&#xff0c;亚马逊云科技已经推出了多篇博文&#xff0c;来介绍如何在亚马逊云科技上部署 Stable Diffusion&#xff0c;或是如何结合 Amazon SageMaker 与 Stable Diffusion 进行模型训练和推理任务。 为了帮助客户快速、安全地在亚马逊云科技上构建、…

快速将iPhone大量照片快速传输到电脑的办法!

很多使用iPhone 的朋友要将照片传到电脑时&#xff0c;第一时间都只想到用iTunes 或iCloud&#xff0c;但这2个工具真的都非常难用&#xff0c;今天小编分享牛学长苹果数据管理工具的照片传输功能&#xff0c;他可以快速的将iPhone照片传输到电脑上&#xff0c;并且支持最新的i…

【Linux】JumpServer 堡垒机远程访问

文章目录 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机&#xff0c;是符合 4A 规范的专业运维安全审计系统。JumpS…

Docker 容器跨主机通信 - Flannel

Author&#xff1a;rab 目录 前言一、架构及环境二、服务部署2.1 Etcd 部署2.2 Flannel 部署2.3 Docker 网络配置 三、容器通信验证及路由分析3.1 通信验证3.2 路由转发分析3.3 数据分发分析 总结 前言 今天是中秋佳节&#xff0c;首先在此祝大家“中秋快乐&#xff0c;阖家团…

RDMA技术(解决主从数据库数据不一致问题)

优质博文&#xff1a;IT-BLOG-CN 一、简介 RDMA(remote direct memory access)即远端直接内存访问&#xff0c;是一种高性能网络通信技术&#xff0c;具有高带宽、低延迟、无CPU消耗等优点。 主要解决网络传输中服务器端数据处理的延迟问题。 Remote&#xff1a;数据通过网络…

机器人过程自动化(RPA)入门 3. 顺序、流程图和控制流程

到目前为止&#xff0c;我们已经了解了RPA是什么&#xff0c;并且我们已经看到了通过记录任务的活动并运行它来训练UiPath机器人是多么简单。使用记录器的UiPath可以很容易地自动化日常任务。在我们开始自动化复杂的任务之前&#xff0c;让我们学习如何控制从一个到另一个的活动…

传统遗产与技术相遇,古彝文的数字化与保护

古彝文是中国彝族的传统文字&#xff0c;具有悠久的历史和文化价值。然而&#xff0c;由于古彝文的形状复杂且没有标准化的字符集&#xff0c;对其进行文字识别一直是一项具有挑战性的任务。本文介绍了古彝文合合信息的文字识别技术&#xff0c;旨在提高古彝文的自动识别准确性…

分类预测 | MATLAB实现WOA-FS-SVM鲸鱼算法同步优化特征选择结合支持向量机分类预测

分类预测 | MATLAB实现WOA-FS-SVM鲸鱼算法同步优化特征选择结合支持向量机分类预测 目录 分类预测 | MATLAB实现WOA-FS-SVM鲸鱼算法同步优化特征选择结合支持向量机分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MATLAB实现WOA-FS-SVM鲸鱼算法同步优化特征选择结…

Pikachu靶场——XXE 漏洞

文章目录 1. XXE1.1 查看系统文件内容1.2 查看PHP源代码1.3 查看开放端口1.4 探测内网主机 1. XXE 漏洞描述 XXE&#xff08;XML External Entity&#xff09;攻击是一种利用XML解析器漏洞的攻击。在这种攻击中&#xff0c;攻击者通过在XML文件中插入恶意实体来触发解析器加载…

直播软件开发技巧:7个实时视频传输和弹幕功能的关键步骤

近年来&#xff0c;随着直播行业的快速崛起&#xff0c;直播软件的开发变得越来越重要。直播软件的成功不仅依赖于稳定的实时视频传输&#xff0c;还需要强大的弹幕功能来提升用户体验。作为直播软件开发领域的专家&#xff0c;我将与您分享七个关键步骤&#xff0c;帮助您掌握…

用友移动管理系统任意文件上传漏洞

一、漏洞描述 用友移动管理系统 uploadApk.do 文件存在任意文件上传 二、fofa查询 body"../js/jslib/jquery.blockUI.js" 三、漏洞利用 poc POST /maportal/appmanager/uploadApk.dopk_obj HTTP/1.1 Host: ip:port Cache-Control: max-age0 Upgrade-Insecure-Req…

Android 使用kotlin+注解+反射+泛型实现MVP架构

一&#xff0c;MVP模式的定义 ①Model&#xff1a;用于存储数据。它负责处理领域逻辑以及与数据库或网络层的通信。 ②View&#xff1a;UI层&#xff0c;提供数据可视化界面&#xff0c;并跟踪用户的操作&#xff0c;以便通知presenter。 ③Presenter&#xff1a;从Model层获…

HTML - input type=file 允许用户选择多个文件

效果 示例 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><!-- When the multiple Boolean attribute is specified, the file input allows the user to select more than o…

No150.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

【项目】在线音乐播放器测试报告

目录 项目背景 项目功能 测试计划 功能测试 登录页面的测试 测试用例 测试结果 注册页面的测试 测试用例 测试结果 音乐列表页面的测试 测试用例 测试结果 出现的bug 搜索功能的bug 问题解决 删除功能的bug 问题解决 喜欢列表页面的测试 测试用例 测试结果…

电脑开机慢问题的简单处理

电脑用久了&#xff0c;开机时间要10-20分钟特别慢&#xff0c;一下介绍两种简单有效处理方式&#xff0c;这两种方式经测试不会影响原系统软件的使用&#xff1a; 方式一&#xff1a;禁用非必要启动项【效果不是很明显】 利用360里面的优化加速禁用启动项【禁用启动项还有其…

大数据分布式处理框架Hadoop

大数据是什么 大数据容量常以TB、PB、甚至EB为单位&#xff0c;远超传统数据库的承载能力&#xff0c;无论入库还是查询都出现性能瓶颈。 Hadoop是什么 Hadoop是开源的分布式计算技术框架&#xff0c;用于处理大规模数据和实现分布式存储。 Hadoop核心组件 HDFS&#xff08;…

【5G PHY】物理层逻辑和物理天线的映射

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…