MIDA — introduction | MIDA — introduction
2026-06-12
Declaration tells the computer (and readers) what M, I, D, and A are.
La déclaration indique à l’ordinateur (et aux lecteurs) ce que sont M, I, D et A.
Diagnosis asks how the design will perform under imagined conditions.
We estimate diagnosands: power, bias, RMSE, error rates, ethical harm, amount learned, …
Le diagnostic examine comment le design se comportera dans des conditions imaginées.
On estime des indicateurs de diagnostic : puissance statistique, biais, erreur quadratique moyenne, taux d’erreur, risques éthiques, quantité apprise, …
Redesign adjusts data- and answer-strategy features to see how diagnosands change:
L’étape redesign (re-concevoir) adapte la stratégie de données et d’analyse afin d’observer comment les indicateurs de diagnostic évoluent. On peut modifier :
What is the simplest diagnosable design?
Quelle est la conception de recherche diagnostiquable la plus simple ?
Run the whole design once — type its name or call run_design(). This produces data, estimands, estimates, and ancillary statistics.
Exécutez le code de la conception de recherche dans son intégralité une fois — tapez son nom ou appelez run_design(). Cela génère des données, des estimandes, des estimations et des statistiques auxiliaires.
| inquiry | estimand | estimator | term | estimate | std.error | statistic | p.value | conf.low | conf.high | df | outcome |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Q | 0.2 | estimator | X | 0.1 | 0.22 | 0.45 | 0.66 | -0.33 | 0.52 | 98 | Y |
Repeat the design many times with simulate_design().
Répétez le design plusieurs fois avec simulate_design().
| design | sim_ID | inquiry | estimand | estimator | term | estimate | std.error | statistic | p.value | conf.low | conf.high | df | outcome |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| simplest_design | 1 | Q | 0.2 | estimator | X | 0.61 | 0.22 | 2.76 | 0.01 | 0.17 | 1.05 | 98 | Y |
| simplest_design | 2 | Q | 0.2 | estimator | X | 0.18 | 0.19 | 0.95 | 0.35 | -0.20 | 0.56 | 98 | Y |
| simplest_design | 3 | Q | 0.2 | estimator | X | 0.25 | 0.19 | 1.32 | 0.19 | -0.13 | 0.62 | 98 | Y |
| simplest_design | 4 | Q | 0.2 | estimator | X | 0.42 | 0.21 | 1.98 | 0.05 | 0.00 | 0.85 | 98 | Y |
| simplest_design | 5 | Q | 0.2 | estimator | X | 0.17 | 0.20 | 0.82 | 0.42 | -0.24 | 0.57 | 98 | Y |
| simplest_design | 6 | Q | 0.2 | estimator | X | 0.14 | 0.21 | 0.69 | 0.49 | -0.27 | 0.56 | 98 | Y |
After many simulations, ask about bias: the average gap between estimand and estimate.
Après de nombreuses simulations, mesurez le biais : la différence moyenne entre l’estimande et l’estimation.
| mean_estimate | mean_estimand | bias |
|---|---|---|
| 0.19 | 0.2 | -0.01 |
diagnose_design() computes common diagnosands in one step.
diagnose_design() calcule les indicateurs de diagnostic en une seule étape.
| Design | N Sims | Mean Estimand | Mean Estimate | Bias | SD Estimate | RMSE | Power | Coverage |
|---|---|---|---|---|---|---|---|---|
| simplest_design | 1000 | 0.20 | 0.20 | 0.00 | 0.20 | 0.20 | 0.18 | 0.94 |
| (0.00) | (0.01) | (0.01) | (0.00) | (0.00) | (0.01) | (0.01) |
To do this your design needs parameters
A parameter is a quantity in your environment that the design references explicitly — e.g. N instead of a fixed number.
You create it in your environment and then reference it when you make your design
Pour cela, votre design a besoin de variables
Une variable est une quantité dans votre environnement que le design cite explicitement — p.ex. N au lieu d’un nombre fixé.
Vous la créez dans votre environnement, puis vous y faites référence lorsque vous construisez votre design.
redesign() returns a modified design — here with N = 200.
redesign() renvoie un design modifié — ici avec N = 200.
Pass a vector of parameter values to get several designs at once.
With two parameters, the function redesign() builds a grid of designs — easy to diagnose and compare.
Passez un vecteur de valeurs de variables pour obtenir plusieurs designs à la fois.
Avec deux variables, la fonction redesign() construit un tableau de designs — facile à diagnostiquer et à comparer.
| N | b | diagnosand | estimate | std.error | conf.low | conf.high |
|---|---|---|---|---|---|---|
| 100 | 0.0 | rmse | 0.14 | 0.01 | 0.12 | 0.15 |
| 100 | 0.0 | power | 0.03 | 0.01 | 0.01 | 0.05 |
| 200 | 0.0 | rmse | 0.10 | 0.00 | 0.10 | 0.11 |
| 200 | 0.0 | power | 0.04 | 0.01 | 0.02 | 0.06 |
| 500 | 0.0 | rmse | 0.06 | 0.00 | 0.06 | 0.06 |
| 500 | 0.0 | power | 0.04 | 0.01 | 0.02 | 0.07 |
| 100 | 0.2 | rmse | 0.15 | 0.01 | 0.13 | 0.17 |
| 100 | 0.2 | power | 0.18 | 0.03 | 0.13 | 0.24 |
| 200 | 0.2 | rmse | 0.10 | 0.00 | 0.09 | 0.11 |
| 200 | 0.2 | power | 0.28 | 0.03 | 0.23 | 0.34 |
| 500 | 0.2 | rmse | 0.07 | 0.00 | 0.06 | 0.08 |
| 500 | 0.2 | power | 0.53 | 0.03 | 0.47 | 0.58 |
| 100 | 0.5 | rmse | 0.14 | 0.01 | 0.13 | 0.15 |
| 100 | 0.5 | power | 0.71 | 0.03 | 0.65 | 0.76 |
| 200 | 0.5 | rmse | 0.09 | 0.00 | 0.09 | 0.10 |
| 200 | 0.5 | power | 0.92 | 0.02 | 0.89 | 0.94 |
| 500 | 0.5 | rmse | 0.07 | 0.00 | 0.06 | 0.07 |
| 500 | 0.5 | power | 1.00 | 0.00 | 1.00 | 1.00 |
After tidy(), ggplot makes comparison across redesigns straightforward.
Après tidy(), ggplot permet de comparer facilement les redesigns.
Power depends on N and effect size; RMSE depends on N only.
La puissance statistique dépend du N et de la taille de l’effet ; L’erreur quadratique moyenne ne dépend que de N.
Key steps for building a design:
declare_model()declare_inquiry()declare_sampling()declare_assignment()declare_measurement()declare_estimator()declare_* functionsÉtapes clés pour construire un design :
declare_model()declare_inquiry()declare_sampling()declare_assignment()declare_measurement()declare_estimator()declare_*Key commands for running and learning from a design:
draw_data(design), draw_estimands(design), draw_estimates(design)get_estimates(design, data)run_design(design), simulate_design(design)diagnose_design(design)redesign(design, N = 200)compare_designs(), compare_diagnoses()Commandes clés pour exécuter un design et en tirer des conclusions :
draw_data(design), draw_estimands(design), draw_estimates(design)get_estimates(design, data)run_design(design), simulate_design(design)diagnose_design(design)redesign(design, N = 200)compare_designs(), compare_diagnoses()?DeclareDesign?DeclareDesign