Zachary Clement

A place to host my thoughts and side projects

Recent posts

Oct 11, 2025
Bracelet and Chord Counts One day, my friend texted me a problem out of the blue: How many different bracelets can be made with 8 beads, where there are 2 red beads, 2 yellow beads, 2 green beads, and 2 blue beads? (You must use all beads. Bracelets that can be transformed into one another by rotation or reflection do not count as different bracelets. That is, the bracelets have no beginning or end, no front or back.…
Oct 11, 2025
Causal discovery using Julia: A brief introduction, a simulation, and a possible use case Causal discovery using Julia: A brief introduction, a simulation, and a possible use case In situations where the causal structure a dataset is unknown, algorithms can be used to estimate DAGs for use in causual inference. In this blog post, I introduced the concept of a DAG (directed acyclic graph), and why a DAG is necessary for causal inference. While DAGs are a powerful tool for inferring causal effects, if an incorrect DAG is used to conduct an analysis, the resulting parameter estimates will be biased.…
Oct 11, 2025
chord_frequencies_blog_post In my last post, I wrote about using burnside’s lemma to count the number of unique ways beads could be arranged if strung on a bracelet. After writing the post, I had two other questions: how many unique possible chords could be played using the Western 12-note scale? And, as someone who listens to a lot of music, it is likely that I have heard every possible chord which can be composed?…
Oct 11, 2025
julia_gift_exchange_simulation Simulation study Simulation studies are used in statistics to estimate the probability of a certain event happening using pseudorandom numbers generated by a computer. Because it can be expensive and time-consuming to collect lots of real-world data on a phenomenon, statisticians sometimes use computers to create many simulated worlds and determine the frequency of an event happening in those simulated worlds. Simulation studies are used when it is difficult or impossible to analytically compute the probability of an event happening.…
Oct 11, 2025
sparsity_causal_simulations import pandas as pd In this post, I’ll introduce the econml python package and use it to compare double machine learning and doubly robust learning. I’ll look at whether bootstrapping standard errors improves the coverage of confidence intervals, and I’ll also look at whether sample size influences estimation accuracy. I. Introduction to econml The econml package was developed by the ALICE team at microsoft research to facilitate estimation of causal effects.…
Oct 11, 2025
The . in .+ means that we are adding 5 to each element of x Introduction to DAGs, and modeling of causal effects using Julia In this blog post, I’ll introduce the concept of Directed Acyclic Graphs (DAGs) and I’ll show how you can use simulation studies to demonstrate that unbiased effects can be estimated by blocking the backdoor paths identified in DAGs. A DAG is a diagram which demonstrates which things cause other things in a situation of interest. Here, we have a DAG showing the relationship between social factors, smoking, and heart disease.…
Oct 11, 2025
tower_hanoi Background A team of researchers recently published a paper claiming that large reasoning models (LRMs) are not capable of “thinking” or making logical choices using some simple logical puzzles. In the paper, LLMs (Large Language Models) and LRMs are both capable of solving the puzzles when low-complexity versions of the puzzles are presented, but when high-complexity versions are presented, both LRMs and LLMs are incapable of logic. In this post, I’ll be referring to the Tower of Hanoi puzzle, one of the puzzles used in the paper.…