gpt4 book ai didi

r - 如何使用R确定一系列点是否位于3维椭球中?

转载 作者:行者123 更新时间:2023-12-05 00:23:07 24 4
gpt4 key购买 nike

我使用 R 中的以下代码生成 3 组二项式数据,其中先验是具有一些均值和方差的多元正态分布。我需要确定 p (p1,p2,p3) 的真实值是否落在 3-由 p (rate1,rate2,rate3) 的估计值创建的维度椭球空间。我为双变量做了一个类似的问题,我使用 point.in.polygon 作为函数。三变量和四变量是否有类似的东西?我编辑了我的代码,如何使用 3 组生成的数据绘制椭圆体。

library(MASS)

set.seed(1234)

m<-300

x<-NULL

k<-20

Sigma2 <- matrix(c(.58,.49,.37,.49,.58,.38,.37,.38,.34),3,3)

eta<-mvrnorm(k, mu=c(-0.85,-2.09,-1.90), Sigma2)

p1<-exp(eta[,1])/(1+exp(eta[,1]))

p2<-exp(eta[,2])/(1+exp(eta[,2]))

p3<-exp(eta[,3])/(1+exp(eta[,3]))

n<-60

x1<-replicate(m,rbinom(k,n,p1))

x2<-replicate(m,rbinom(k,n,p2))

x3<-replicate(m,rbinom(k,n,p3))

x<-cbind(x1,x2,x3)

rate<-x/60

x<-cbind(x1,x2,x3)

sigma<-var(rate)

origin<-c(mean(rate[,1]), mean(rate[,2]), mean(rate[,3]))

#origin<-c(0.349,0.184,0.148)

coords<-matrix(c(p1,p2,p3),nrow=3)

A<-sigma

cFromO<-coords-origin

Ell<-apply(cFromO,2,function(c){t(c) %*% A %*% c})<=1

Ell

[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

最佳答案

我相信这里解决了完全相同的问题:

Ellipsoid R function - finding if a point fits in - R script

对于更高的维度,我相信给定 M 椭圆矩阵和点 p 的一个简单解决方案是检查 ginv(M)%*%p 的范数是否小于 1。

关于r - 如何使用R确定一系列点是否位于3维椭球中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28731608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com