Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R多项式分布方差_R_Covariance_Variance_Multinomial - Fatal编程技术网

R多项式分布方差

R多项式分布方差,r,covariance,variance,multinomial,R,Covariance,Variance,Multinomial,在下面的代码中,p_hat包含给定数据样本中X1、X2和X3概率的最大似然估计。根据维基百科上的页面,估计概率的协方差矩阵计算如下: set.seed(102) X <- rmultinom(n=1, size=100, prob =c(0.1,0.3,0.6)) p_hat <- X/sum(X) # print covariance matrix cov_matrix <- matrix(0, nrow=length(p_hat), ncol=length(p_hat))

在下面的代码中,
p_hat
包含给定数据样本中X1、X2和X3概率的最大似然估计。根据维基百科上的页面,估计概率的协方差矩阵计算如下:

set.seed(102)
X <- rmultinom(n=1, size=100, prob =c(0.1,0.3,0.6))
p_hat <- X/sum(X)

# print covariance matrix
cov_matrix <- matrix(0, nrow=length(p_hat), ncol=length(p_hat))
rownames(cov_matrix) <- c("X1","X2","X3"); colnames(cov_matrix) <- c("X1","X2","X3");
for (r in 1: length(p_hat)){
  for (c in 1: length(p_hat)){
    if(r==c){cov_matrix[r,c] <- p_hat[r] * (1-p_hat[r])}
    else{cov_matrix[r,c] <- -p_hat[r] *p_hat[c]}
  }
}
set.seed(102)

X您甚至可以使用
outer
diag
获得相同的结果

> p <- drop(p_hat)
> variance         <-  p*(1-p)
> covariance       <- -outer(p, p)
> diag(covariance) <-  variance
> covariance
       [,1]    [,2]    [,3]
[1,]  0.090 -0.0290 -0.0610
[2,] -0.029  0.2059 -0.1769
[3,] -0.061 -0.1769  0.2379
>p方差协方差diag(协方差)协方差
[,1]    [,2]    [,3]
[1,]  0.090 -0.0290 -0.0610
[2,] -0.029  0.2059 -0.1769
[3,] -0.061 -0.1769  0.2379

您甚至可以使用
outer
diag
获得相同的结果

> p <- drop(p_hat)
> variance         <-  p*(1-p)
> covariance       <- -outer(p, p)
> diag(covariance) <-  variance
> covariance
       [,1]    [,2]    [,3]
[1,]  0.090 -0.0290 -0.0610
[2,] -0.029  0.2059 -0.1769
[3,] -0.061 -0.1769  0.2379
>p方差协方差diag(协方差)协方差
[,1]    [,2]    [,3]
[1,]  0.090 -0.0290 -0.0610
[2,] -0.029  0.2059 -0.1769
[3,] -0.061 -0.1769  0.2379

您甚至可以使用
outer
diag
获得相同的结果

> p <- drop(p_hat)
> variance         <-  p*(1-p)
> covariance       <- -outer(p, p)
> diag(covariance) <-  variance
> covariance
       [,1]    [,2]    [,3]
[1,]  0.090 -0.0290 -0.0610
[2,] -0.029  0.2059 -0.1769
[3,] -0.061 -0.1769  0.2379
>p方差协方差diag(协方差)协方差
[,1]    [,2]    [,3]
[1,]  0.090 -0.0290 -0.0610
[2,] -0.029  0.2059 -0.1769
[3,] -0.061 -0.1769  0.2379

您甚至可以使用
outer
diag
获得相同的结果

> p <- drop(p_hat)
> variance         <-  p*(1-p)
> covariance       <- -outer(p, p)
> diag(covariance) <-  variance
> covariance
       [,1]    [,2]    [,3]
[1,]  0.090 -0.0290 -0.0610
[2,] -0.029  0.2059 -0.1769
[3,] -0.061 -0.1769  0.2379
>p方差协方差diag(协方差)协方差
[,1]    [,2]    [,3]
[1,]  0.090 -0.0290 -0.0610
[2,] -0.029  0.2059 -0.1769
[3,] -0.061 -0.1769  0.2379