ASTR 474 · Computational Lab 06

Lab 06: Monte Carlo Transmission and Radial-Velocity Inference

L09-L12 · sampling, likelihood, fit, and posterior

Purpose and learning objectives

L09-L12 · sampling, likelihood, fit, and posterior. This investigation develops a numerical method and tests its output against a declared benchmark, invariant, uncertainty model, or independent implementation.

Preparation, setup, and inputs

Software: CPython 3.14.6; dependencies in requirements.txt. From repository root run .venv/Scripts/python.exe materials/ASTR474/src/astr474_computations.py. Then use the corresponding CSV/JSON under materials/ASTR474/data/generated/. Required data: generated/monte_carlo_trials.csv and generated/radial_velocity_observations.csv.

Apparatus: computer with local CPU, terminal, text editor, and browser; no telescope, GPU, network account, or paid service is required. Preserve the generated input files and record file hash/version.

Model scope: Both the transmission experiment and radial-velocity observations are synthetic, seeded teaching records.

Procedure

  1. Reproduce transmission estimates at N=100, 500, 2,000, and 20,000 using the documented NumPy generator seeds.
  2. Report analytic transmission, estimate, standard error, and whether the analytic value falls within a stated interval; repeat with at least 20 independent seeds.
  3. Compare ordinary Bernoulli sampling with the likelihood-weighted tilted proposal and inspect the realized weights.
  4. Fit the provided velocity series with weighted SciPy least_squares; plot model and residuals, report covariance assumptions, chi-square and degrees of freedom.
  5. For 84/100 detections, draw a Beta(85,17) posterior and compare Monte Carlo quantiles with an analytic or independently evaluated reference.

Measurement record

QuantityValue or fieldUnit/conventionSource/method
Input configurationRecord solver, version, seed, timestep/grid/toleranceAs defined by the experimentCommand line and source file
Primary diagnosticRecord every resolution/sample/fit row, not just the preferred resultState units and normalizationGenerated CSV/JSON
Independent referenceAt N=10000, ordinary-sampling standard error is 0.0013723; the likelihood-weighted proposal gives 0.00036502. One run is evidence for this seed, not a universal variance guarantee.As stated in the generated exampleAnalytic/JPL/invariant cross-check
Uncertainty/sensitivityRepeat with changed resolution, seed, parameter, or methodReport interval or relative changeStudent analysis

Analysis and uncertainty

Separate sampling error, posterior Monte Carlo error, measurement uncertainty, and model misfit; seed changes are required sensitivity checks.

Plot the diagnostic against the controlled parameter; label axes, units, normalization, and reference. Explain any non-monotonic point rather than smoothing or dropping it. If propagating independent errors, state why independence is plausible; preserve correlated/common-mode terms separately.

Deliverables and assessment

  1. Runnable source or notebook export with command, package versions, and all input/output paths.
  2. One scientific figure plus a machine-readable table of measurements and convergence/sampling/residual diagnostics.
  3. A 700-1000 word technical report describing model, method, validation, uncertainty categories, and one failed assumption.
  4. A short claim-evidence table separating result, numerical check, and domain limitation.

Rubric: 30% correct method and setup; 25% validation and numerical diagnostics; 20% uncertainty/provenance; 15% physical interpretation; 10% clarity and reproducibility. Revisions and resubmissions are encouraged under the syllabus mastery policy.

Data and source provenance

Both the transmission experiment and radial-velocity observations are synthetic, seeded teaching records. Provenance levels, request records, and source verification limits are documented in reference-log.md; generated files and seeds are documented in data/README.md.

References: