[REDMINE1D-225] [RM-6497] Prior 'H-alpha if strong line' Created: 05/Jul/23  Updated: 13/Jan/24  Resolved: 13/Jan/24

Status: Done
Project: 1D Redmine
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Normal
Reporter: Redmine-Jira Migtation Assignee: Redmine-Jira Migtation
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Created on 2021-05-13 08:17:48 by Vincent Le Brun. % Done: 0

dans la simulation Euclid COSMOS-EL 40% des erreurs sont des mismatch's H-alpha-OII. Si on utilise le prior strong, on baisse la pureté en forçant H-alpha plutôt que les raies faibles des galaxies à faible z (SIII, ArI, Paschen..., un moyen serait un prior qui favorise H-alpha si la solution utilise une seule raie strong (OII). Est ce que c'est possible ?



 Comments   
Comment by Redmine-Jira Migtation [ 13/Jan/24 ]

Comment by Didier Vibert on 2021-05-17 09:06:17:
note: j 'ai basculé cette issue dans le sous-projet euclid-dev

je pense que c'est possible. Pour résumer, tu veux un prior du style: si dans un modèle à un z donné il y a une raie strong autre que Halpha alors on pénalise cette solution. Si pas de raie strong du tout on ne change pas la vraisemblance.

on peut essayer, mais j'ai peur qu'une partie du gain du prior strong disparaisse: tu vas effectivement récupérer les solutions bas z avec l'identification SIII, etc. mais du coup tu vas aussi confondre des vrais Ha pour ces raies faibles ? => à tester.

Il faudrait aussi tester avec d'autres valeurs du prior strong. Aujourd'hui on met 1e-3 comme paramètre (qui est la valeur de la proba si pas de raie strong, 1.0 étant la valeur s raie strong, le tout étant normalisé de telle sorte que l'intégrale de la proba sur le range z évalué soit égale à 1.0)

Récap des priors dispo aujourd'hui:

tous ces priors peuvent se combiner entre eux (multiplication des proba, et normalisation de l'intégrale sur z du total à 1.0)

1. N(z) Pozetti, paramètre @linemodelsolve.linemodel.euclidnhaemittersStrength@ gouverne la force du prior par rapport à la vraisemblance (facteur multiplicatif du log du prior)

2. strong lines, paramètre @linemodelsolve.linemodel.stronglinesprior@, introduit une pénalisation de la vraisemblance si le modèle(z) n'a pas de raies strong (absence dans l'intervalle de longueur d'onde observé ou mesurée à zéro). Le prior pi(z) est égal à 1.0 si on mesure une raie strong et est égal à la valeur du paramètre si pas de raies strong, l'intégrale de la proba est ensuite normalisée à 1.0.

3. Ha, paramètre @linemodelsolve.linemodel.haprior@, introduit une pénalisation de la vraisemblance (idem au prior strong lines) si le modèle(z) n'a pas la raie Ha

4. N lines above SNR (actuellement désactivé dans le code), pénalise les solutions à un z donné ayant moins de 2 raies strong pour lesquelles le SNR mesuré est >3.5

En plus de ces priors P(z), il est possible dans le cas du linemodel template-ratio, et de template fitting, d'appliquer des priors sur les autres paramètres, par bin de z :

  • template de continus: poids du template, amplitude du template, prior sur le coeff Ebmv, prior sur l'igm (poids des 7 courbes d'extinctions)
  • linemodel template-ratios: en plus des priors sur les template de continu, poids du template-ratio, amplitude du template-ratio, prior sur l'igm (poids des 7 courbes d'extinctions)
Comment by Redmine-Jira Migtation [ 13/Jan/24 ]

Comment by Vincent Le Brun on 2021-05-17 09:14:32:
Didier Vibert wrote in #note-1:
> note: j 'ai basculé cette issue dans le sous-projet euclid-dev
>
> je pense que c'est possible. Pour résumer, tu veux un prior du style: si dans un modèle à un z donné il y a une raie strong autre que Halpha alors on pénalise cette solution. Si pas de raie strong du tout on ne change pas la vraisemblance.

Plus exactement si dans un modèle il y a un raie strong autre que Ha, on privilégie Halpha (sinon se contenter de pénaliser le modèle va effectivement faire sortir des modèles à raie faible)
>
> on peut essayer, mais j'ai peur qu'une partie du gain du prior strong disparaisse: tu vas effectivement récupérer les solutions bas z avec l'identification SIII, etc. mais du coup tu vas aussi confondre des vrais Ha pour ces raies faibles ? => à tester.
d'ou ma suggestion au dessus
>
> Il faudrait aussi tester avec d'autres valeurs du prior strong. Aujourd'hui on met 1e-3 comme paramètre (qui est la valeur de la proba si pas de raie strong, 1.0 étant la valeur s raie strong, le tout étant normalisé de telle sorte que l'intégrale de la proba sur le range z évalué soit égale à 1.0)

>
> h2. Récap des priors dispo aujourd'hui:
>
> tous ces priors peuvent se combiner entre eux (multiplication des proba, et normalisation de l'intégrale sur z du total à 1.0)
>
> 1. N(z) Pozetti, paramètre @linemodelsolve.linemodel.euclidnhaemittersStrength@ gouverne la force du prior par rapport à la vraisemblance (facteur multiplicatif du log du prior)
>
> 2. strong lines, paramètre @linemodelsolve.linemodel.stronglinesprior@, introduit une pénalisation de la vraisemblance si le modèle(z) n'a pas de raies strong (absence dans l'intervalle de longueur d'onde observé ou mesurée à zéro). Le prior pi(z) est égal à 1.0 si on mesure une raie strong et est égal à la valeur du paramètre si pas de raies strong, l'intégrale de la proba est ensuite normalisée à 1.0.
>
> 3. Ha, paramètre @linemodelsolve.linemodel.haprior@, introduit une pénalisation de la vraisemblance (idem au prior strong lines) si le modèle(z) n'a pas la raie Ha
>
> 4. N lines above SNR (actuellement désactivé dans le code), pénalise les solutions à un z donné ayant moins de 2 raies strong pour lesquelles le SNR mesuré est >3.5
>
> En plus de ces priors P(z), il est possible dans le cas du linemodel template-ratio, et de template fitting, d'appliquer des priors sur les autres paramètres, par bin de z :
> * template de continus: poids du template, amplitude du template, prior sur le coeff Ebmv, prior sur l'igm (poids des 7 courbes d'extinctions)
dans le cadre de VIPERS j'avais relevé que le poids du continu était trop fort. est ce que le paramètre est dispo dans les parameters.json actuels?
> * linemodel template-ratios: en plus des priors sur les template de continu, poids du template-ratio, amplitude du template-ratio, prior sur l'igm (poids des 7 courbes d'extinctions)

Comment by Redmine-Jira Migtation [ 13/Jan/24 ]

Comment by Didier Vibert on 2021-05-17 11:05:38:
Vincent Le Brun wrote in #note-2:
> Didier Vibert wrote in #note-1:
> > je pense que c'est possible. Pour résumer, tu veux un prior du style: si dans un modèle à un z donné il y a une raie strong autre que Halpha alors on pénalise cette solution. Si pas de raie strong du tout on ne change pas la vraisemblance.
>
> Plus exactement si dans un modèle il y a une raie strong autre que Ha, on privilégie Halpha (sinon se contenter de pénaliser le modèle va effectivement faire sortir des modèles à raie faible)

ce qu'on écrit, ce sont des p(z), donc on renforce à certain z, en fonction d'une ou pls conditions, et symétriquement on pénalise les z avec la condition inverse. Quand tu dis "si dans un modèle il y a une raie strong autre que Ha, on privilégie Halpha " tu parles de 2 z différents. Je ne vois pas bien ce que tu entends par on privilégie Ha: tu privilégies un autre modèle (ie avec un z différent)

Ce que tu veux, si je comprends bien, c'est éviter de pénaliser les bas z sans raies strongs (pour laisser sa chance à SIII etc.) => on peut faire ça,
ça donnerait:

  • z tq pas de raies strong observables ou observée => prior fort
  • z tq raie strong Ha => prior fort
  • z tq raie strong autre que Ha => prior faible

Mais, dans ce cas je maintiens que la présence d'une raie dans le spectre risque de conduire à des solutions raies faible (au moins pour une partie d'entre eux) au détriment des solutions Ha. À moins que dans le cas des raies faibles, on s'attende à avoir plusieurs raies faibles à peu près de même niveau ensemble ce qui évitera de les confondre avec Ha.

rmq: au lieu de construire un prior à 2 niveaux, on pourrait le faire à 3 niveaux (ie ne pas donner le même poids à Ha et no-strong

> > En plus de ces priors P(z), il est possible dans le cas du linemodel template-ratio, et de template fitting, d'appliquer des priors sur les autres paramètres, par bin de z :
> > * template de continus: poids du template, amplitude du template, prior sur le coeff Ebmv, prior sur l'igm (poids des 7 courbes d'extinctions)
> dans le cadre de VIPERS j'avais relevé que le poids du continu était trop fort. est ce que le paramètre est dispo dans les parameters.json actuels?

Il s'agit des poids relatifs des templates entre eux, et non pas du poid du template de continu par rapport au linemodel... Le paramètre est disponible, il s'agit du chemin d'un répertoire dans lequel doivent se trouver des fichiers contenant l'ensemble des poids pour tous les paramètres et tout les bins de z, dans un format spécifique.

Pour diminuer l'impact du continu sur la vraissemblance, il faudrait plutôt rentrer une connaissance du bruit et de l'incertitude: le continu a un poids trop fort car le spectre contient des systématiques basse fréquence, qui ne sont pas modélisées.
Plusieurs options:

  • on ne sait pas les modéliser: il faut les soustraire du spectre pour s'en affranchir, quitte à perdre de l'info (=> c'est ce qu'on fait en soustrayant un continu par filtrage)
  • on sait les modéliser, et c'est déterministe (non stochastique) et paramétré et donc c'est meilleur de les rajouter au modèle plutôt que d'essayer de les soustraire en pré-processing.
  • on sait les modéliser et c'est stochastique: il faut rajouter cette infos dans la description du bruit.

Typiquement, actuellement, le fait de donner une variance par pixel sans corrélation, contribue à donner un poids fort à la forme bf du continu. Si on indique que le bruit possède une composante bf, donc une corrélation pixel à grande échelle, naturellement, le fit accordera moins d'importance à la forme à grande échelle des templates de continu tout en conservant l'adéquation à ses features (raie en absorption, break, etc.)

Comment by Redmine-Jira Migtation [ 13/Jan/24 ]

Comment by Pierre-yves Chabaud on 2022-09-01 09:56:15:
Refaire le test sur les nouvelles données EL2020 en utilisant la 0.36

Comment by Redmine-Jira Migtation [ 13/Jan/24 ]

Comment by Didier Vibert on 2024-01-12 16:53:12:
toujours d'actualité, pour faire quoi exactement ?

Comment by Redmine-Jira Migtation [ 13/Jan/24 ]

Comment by Vincent Le Brun on 2024-01-12 16:55:11:
je crois que les progrès sur la reliability on rendu ce truc obsolète, et en plus ça rend les choses moins claires au final. On ferme et on verra à l'usage si on en a besoin

Generated at Sat Feb 10 15:30:34 JST 2024 using Jira 8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b.