Document variance correction for sum to zero matrix
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 68/100
- Tipo di issue
- Documentazione
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- tex
- Ambito
- documentation
Direzione di ricerca
Inizia individuando la sezione del manuale di Stan che tratta le trasformazioni a somma zero e la documentazione esistente per la correzione fornita. Aggiungi la formula della varianza e il relativo contesto come matrice e tensore N-dimensionale, quindi verifica che il manuale venga renderizzato correttamente e che la correzione documentata corrisponda all'esempio dell'issue.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Mostly a reminder for @spinkney who said he would add this on slack
Message
I need to add this to the manual. An N-dimensional tensor with variance tau^2 where each dimension sums to 0 through an isotropic sum-to-zero transform will have variance of tau^2 * prod( (d_k - 1) / d_k) so to correct you need tau^2 * prod(d_k / (d_k - 1)) as the correction.
I deliberately coded this to take in the dimensions to be suitable for a sum-to-zero N-d array but it works fine for matrix
functions {
real s2z_unit_normal_correction (array[] int s2z_dims) {
int N = num_elements(s2z_dims);
vector[N] d = to_vector(s2z_dims);
return sqrt(prod(d ./ (d - 1)));
}
real s2z_unit_normal_lpdf (vector z, array[] int s2z_dims) {
int N = num_elements(s2z_dims);
vector[N] d = to_vector(s2z_dims);
return -dot_self(z) + N * 2 * prod(d ./ (d - 1));
}
}
data {
int<lower=1> N;
int<lower=1> M;
int<lower=0, upper=1> flag;
}
parameters {
sum_to_zero_matrix[N, M] X;
}
model {
if (flag == 0) {
to_vector(X) ~ normal(0, s2z_unit_normal_correction(dims(X)));
} else {
to_vector(X) ~ s2z_unit_normal(dims(X));
}
}
- Lingua principale
- TeX
- Stelle
- 43
- Fork
- 133
- Merge medio
- 11h 32m
- PR unite (30g)
- 4
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di stan-dev/docs
-
bug
Difficoltà 1/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
Tutte le issue di stan-dev/docs
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
certification
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
bisq-network/support#2181 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
tutorial updates Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
sveltejs/svelte.dev#2241 ·