タグ付けされた質問 「matrix-inverse」

3
共分散行列の反転が確率変数間の部分相関をもたらすのはなぜですか?
ランダム変数間の偏相関は、共分散行列を反転し、そのような結果の精度行列から適切なセルを取得することで見つけることができると聞きました(この事実は http://en.wikipedia.org/wiki/Partial_correlationにいますが、証拠はありません) 。 これはなぜですか?

1
Rの逆行列の効率的な計算
逆行列を計算する必要があり、solve関数を使用しています。小さなマトリックスでsolveはうまく機能しますが、大きなマトリックスでは非常に遅くなる傾向があります。より高速な結果を得ることができる他の機能または機能の組み合わせ(SVD、QR、LU、またはその他の分解機能を使用)があるかどうか疑問に思いました。

1
「固有」が行列の反転にどのように役立つかを説明する
私の質問は、geoR:::.negloglik.GRFまたはで悪用された計算技術に関するものgeoR:::solve.geoRです。 線形混合モデルのセットアップ: ここで、とはそれぞれ固定効果とランダム効果です。また、β B Σ = COV (Y )Y=Xβ+Zb+eY=バツβ+Zb+e Y=X\beta+Zb+e ββ\betabbbΣ=cov(Y)Σ=cov(Y)\Sigma=\text{cov}(Y) 影響を推定する場合、計算する必要がある 通常のようなものを使用して行うことができ、時にははほとんど可逆的ではないので、トリックを使用してください(X ' Σ - 1 X )(X′Σ−1X)−1X′Σ−1Y(X′Σ−1X)−1X′Σ−1Y (X'\Sigma^{-1}X)^{-1}X'\Sigma^{-1} Y solve(XtS_invX,XtS_invY)(X′Σ−1X)(X′Σ−1X)(X'\Sigma^{-1}X)geoR t.ei=eigen(XtS_invX) crossprod(t(t.ei$vec)/sqrt(t.ei$val))%*%XtS_invY (に見られるgeoR:::.negloglik.GRFとgeoR:::.solve.geoR)分解に達した したがって (X′Σ−1X)=ΛDΛ−1(X′Σ−1X)=ΛDΛ−1 (X'\Sigma^{-1}X)=\Lambda D \Lambda^{-1}\\ Λ′=Λ−1Λ′=Λ−1\Lambda'=\Lambda^{-1}(X′Σ−1X)−1=(D−1/2Λ−1)′(D−1/2Λ−1)(X′Σ−1X)−1=(D−1/2Λ−1)′(D−1/2Λ−1) (X'\Sigma^{-1}X)^{-1}=(D^{-1/2}\Lambda^{-1})'(D^{-1/2}\Lambda^{-1}) 2つの質問: この固有分解は反転にどのように役立ちますか?(X′Σ−1X)(X′Σ−1X)(X'\Sigma^{-1}X) 他の実行可能な代替手段(堅牢で安定したもの)はありますか?(例:qr.solveまたはchol2inv)


1
サンプルの共分散行列が反転可能でない場合はどうすればよいですか?
いくつかのクラスタリング手法に取り組んでいます。d次元ベクトルの特定のクラスターについて、多変量正規分布を仮定し、サンプルのd次元平均ベクトルとサンプルの共分散行列を計算します。 次に、目に見えない新しいd次元ベクトルがこのクラスターに属しているかどうかを判断しようとするときに、次のメジャーを使用してその距離をチェックしています: (Xi−μ^X)′σ^−1X(Xi−μ^X)>B0.95(p2,−p2)(Xi−μ^X)′σ^X−1(Xi−μ^X)>B0.95(p2,−p2)\left(X_i-\hat{\mu}_X\right)'\hat{\sigma}_X^{-1}\left(X_i-\hat{\mu}_X\right)>B_{0.95}\left(\frac{p}{2},\frac{-p}{2}\right) これには、共分散行列の逆行列を計算する必要があります。しかし、いくつかのサンプルを考えると、共分散行列が可逆であることを保証できません。そうでない場合はどうすればよいですか?σ^Xσ^X\hat{\sigma}_X ありがとう

1
R / mgcv:なぜte()とti()テンソル積が異なる表面を生成するのですか?
のmgcvパッケージにRは、テンソル積の相互作用をフィッティングするための2つの関数がte()ありti()ます。私は2つの作業の基本的な分業を理解しています(非線形の相互作用を当てはめるか、この相互作用を主効果と相互作用に分解するか)。私が理解していないのは、なぜte(x1, x2)、そしてti(x1) + ti(x2) + ti(x1, x2)(わずかに)異なる結果を生成するのかということです。 MWE(から適応?ti): require(mgcv) test1 <- function(x,z,sx=0.3,sz=0.4) { x <- x*20 (pi**sx*sz)*(1.2*exp(-(x-0.2)^2/sx^2-(z-0.3)^2/sz^2)+ 0.8*exp(-(x-0.7)^2/sx^2-(z-0.8)^2/sz^2)) } n <- 500 x <- runif(n)/20;z <- runif(n); xs <- seq(0,1,length=30)/20;zs <- seq(0,1,length=30) pr <- data.frame(x=rep(xs,30),z=rep(zs,rep(30,30))) truth <- matrix(test1(pr$x,pr$z),30,30) f <- test1(x,z) y <- f + rnorm(n)*0.2 par(mfrow = c(2,2)) # …
11 r  gam  mgcv  conditional-probability  mixed-model  references  bayesian  estimation  conditional-probability  machine-learning  optimization  gradient-descent  r  hypothesis-testing  wilcoxon-mann-whitney  time-series  bayesian  inference  change-point  time-series  anova  repeated-measures  statistical-significance  bayesian  contingency-tables  regression  prediction  quantiles  classification  auc  k-means  scikit-learn  regression  spatial  circular-statistics  t-test  effect-size  cohens-d  r  cross-validation  feature-selection  caret  machine-learning  modeling  python  optimization  frequentist  correlation  sample-size  normalization  group-differences  heteroscedasticity  independence  generalized-least-squares  lme4-nlme  references  mcmc  metropolis-hastings  optimization  r  logistic  feature-selection  separation  clustering  k-means  normal-distribution  gaussian-mixture  kullback-leibler  java  spark-mllib  data-visualization  categorical-data  barplot  hypothesis-testing  statistical-significance  chi-squared  type-i-and-ii-errors  pca  scikit-learn  conditional-expectation  statistical-significance  meta-analysis  intuition  r  time-series  multivariate-analysis  garch  machine-learning  classification  data-mining  missing-data  cart  regression  cross-validation  matrix-decomposition  categorical-data  repeated-measures  chi-squared  assumptions  contingency-tables  prediction  binary-data  trend  test-for-trend  matrix-inverse  anova  categorical-data  regression-coefficients  standard-error  r  distributions  exponential  interarrival-time  copula  log-likelihood  time-series  forecasting  prediction-interval  mean  standard-error  meta-analysis  meta-regression  network-meta-analysis  systematic-review  normal-distribution  multiple-regression  generalized-linear-model  poisson-distribution  poisson-regression  r  sas  cohens-kappa 


1
低ランク線形システムの高速計算/推定
方程式の線形システムは、計算統計に広く使用されています。私が遭遇した1つの特別なシステム(たとえば、因子分析)はシステムです Ax=bAx=bAx=b ここで、 ここでDはであるN × N厳密に正の対角を有する対角行列で、ΩはあるM × M(とM « N対称半正定値行列)であり、Bは任意であり、N × m行列。低ランクの行列によって摂動された対角線形システム(簡単)を解くように求められます。上記の問題を解決する素朴な方法は、Woodburyの式を使用してAを反転させることですA=D+BΩBTA=D+BΩBTA=D+ B \Omega B^TDDDn×nn×nn\times nΩΩ\Omegam×mm×mm\times mm≪nm≪nm\ll nBBBn×mn×mn\times mAAA。ただし、コレスキーおよびQR分解は通常、線形システム(および正規方程式)の解を劇的に高速化できるため、これは正しくありません。私は最近次の論文を思いつきました。これはコレスキーのアプローチを採用しているようで、ウッドベリーの反転の数値的不安定性について言及しています。しかし、論文は草案のようで、数値実験や裏付けとなる研究が見つかりませんでした。私が説明した問題を解決するための最新技術は何ですか?

2
リッジ回帰における「行列反転の数値的安定性」の明快な説明とオーバーフィットの低減におけるその役割
私は最小二乗回帰問題で正則化を使用できることを理解しています w∗=argminw[(y−Xw)T(y−Xw)+λ∥w∥2]w∗=argminw⁡[(y−Xw)T(y−Xw)+λ‖w‖2]\boldsymbol{w}^* = \operatorname*{argmin}_w \left[ (\mathbf y-\mathbf{Xw})^T(\boldsymbol{y}-\mathbf{Xw}) + \lambda\|\boldsymbol{w}\|^2 \right] そして、この問題は次のような閉じた形の解決策を持っています: w^=(XTX+λI)−1XTy.w^=(XTX+λI)−1XTy.\hat{\boldsymbol{w}} = (\boldsymbol{X}^T\boldsymbol{X}+\lambda\boldsymbol{I})^{-1}\boldsymbol{X}^T\boldsymbol{y}. 2番目の方程式では、正則化はX T Xの対角にを追加するだけであることがわかります。これは、行列反転の数値的安定性を改善するために行われます。λλ\lambdaXTXXTX\boldsymbol{X}^T\boldsymbol{X} 数値の安定性に関する私の現在の「粗末な」理解は、関数がより「数値的に安定」すると、その出力はその入力のノイズの影響をあまり受けなくなるということです。数値安定性の向上というこの概念を、過剰適合の問題をどのように回避/軽減するかという全体像に関連付けるのが困難です。 私はウィキペディアや他のいくつかの大学のウェブサイトを見てみましたが、彼らはなぜこれがそうなのかを深く説明していません。

1
逆行列の物理的な意味は何ですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 3年前休業。 私はインタビューでこの質問をされました。私はできる限りの方法で質問に答えようと最善を尽くしましたが(数学の観点から説明していました)、教授は動揺して見えました。 何か案が? 教授は数学/方程式/特性に興味がありませんでした。

3
逆共分散行列の計算の数値的不安定性
21次元データの65サンプル(ここに貼り付け)があり、それから共分散行列を構築しています。C ++で計算すると、ここに共分散行列が貼り付けられます。そして、データからMATLABで計算すると(以下に示すように)、ここに共分散行列が貼り付けられます データからcovを計算するためのMatlabコード: data = csvread('path/to/data'); matlab_cov = cov(data); 共分散行列の違いがわかるように(〜e-07)、これはおそらく浮動小数点演算を使用するコンパイラーの数値の問題が原因です。 ただし、matlabによって生成された共分散行列とC ++コードによって生成された共分散行列から疑似逆共分散行列を計算すると、大きく異なる結果が得られます。私はそれらを同じ方法で計算しています: data = csvread('path/to/data'); matlab_cov = cov(data); my_cov = csvread('path/to/cov_file'); matlab_inv = pinv(matlab_cov); my_inv = pinv(my_cov); 違いが非常に大きいため、サンプル(ここに貼り付け)から65サンプルの分布までのマハラノビス距離を次のように計算しています。 (65/642)×((sample−mean)×∑−1×(sample−mean)′)(65/642)×((sample−mean)×∑−1×(sample−mean)′)(65/64^2) \times ((sample-mean)\times {\sum}^{-1} \times (sample-mean)') 異なる逆共分散行列()を使用すると、大きく異なる結果が得られます。∑−1∑−1{\sum}^{-1} (65/(64^2))*((sample-sample_mean)*my_inv*(sample-sample_mean)') ans = 1.0167e+05 (65/(64^2))*((sample-sample_mean)*matlab_inv*(sample-sample_mean)') ans = 109.9612 共分散行列の小さな(e-7)差が疑似逆行列の計算にそのような影響を与えるのは正常ですか?もしそうなら、この影響を緩和するために私は何ができますか? これに失敗すると、逆共分散を含まない、使用できる他の距離メトリックスはありますか?私はマハラノビス距離を使用します。これは、n個のサンプルについてはベータ分布に従うため、仮説検定に使用します。 事前に感謝します EDIT:以下、共分散行列を計算するためのC ++コードを追加:vector<vector<double> >貼り付けたファイルからの行の集合を表します。 Mat …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.