Functional Statistics
https://www.functionalstatistics.com/
Recent content on Functional StatisticsHugo -- gohugo.ioenMon, 16 Jan 2023 14:02:14 -0500Unary Relation Examples
https://www.functionalstatistics.com/posts/2023-01-16-agda-unary-examples/
Mon, 16 Jan 2023 14:02:14 -0500https://www.functionalstatistics.com/posts/2023-01-16-agda-unary-examples/Lately I’ve been learning the dependently typed programming language Agda. While it’s a joy to learn, learning materials for the Agda standard library are sparse. In this post, I give examples using of the stdlib’s Relation.Unary module to do elementary set theory. The logical propositions I prove herein are rather trivial, but for newbies to dependently-typed languages like me, even the trivial can seem hard.
Preliminaries You can read this post without knowing any Agda.Linear Regression Via Category Theory
https://www.functionalstatistics.com/posts/2022-11-02-linear-model-category/
Wed, 02 Nov 2022 14:19:14 -0500https://www.functionalstatistics.com/posts/2022-11-02-linear-model-category/A couple of years ago, I read Conal Elliot’s Compiling to Categories paper. I thought at the time “Wow, this is amazing”, but I didn’t have the key that made the ideas concrete for me. Chris Penner’s talk on deconstructing lambdas unlocked Conal’s paper for me. In today’s post, I’m making sure I understand the basics by implementing the ordinary least squares estimator using categories.
The key idea of “Compiling to Categories” is right there in the first sentence:M-estimation in Julia
https://www.functionalstatistics.com/posts/2021-03-10-julia-m-estimation/
Wed, 10 Mar 2021 14:19:14 -0500https://www.functionalstatistics.com/posts/2021-03-10-julia-m-estimation/A goal of mine is to get up to speed with Catlab.jl, a Julia library for doing applied Category Theory. Since it’s written in Julia, I spent a bit of time getting hands-on Julia experience by toying around with something I know: M-estimation.
In this post, I code a stripped down Julia version of geex, an R package I created to give developers a straightforward way to create new M-estimators.Nonparametric Survival Estimators in Haskell
https://www.functionalstatistics.com/posts/2021-02-22-haskell-survival-estimators/
Mon, 22 Feb 2021 14:19:14 -0500https://www.functionalstatistics.com/posts/2021-02-22-haskell-survival-estimators/In today’s post, I walk through a Haskell implementation of two fundamental estimators in survival analysis: the product-limit (Kaplan-Meier) estimator (KM) of the survival curve and the Nelson-Aalen estimator (NA) of the cumulative hazard. While toying around with the monoidimator package a few months ago, I realized that one could implement a data structure such that the data would not need to pre-sorted by time and KM could be evaluated at any point and updated as an online algorithm.Permutation Weighting for Estimating Marginal Structural Model Parameters
https://www.functionalstatistics.com/posts/2021-02-16-permutation-weighting-marginal-structural-model/
Tue, 16 Feb 2021 09:19:14 -0500https://www.functionalstatistics.com/posts/2021-02-16-permutation-weighting-marginal-structural-model/A few weeks ago, I demonstrated how permutation weighting (Arbour, Dimmery, and Sondhi 2020) can be used to estimate causal parameters under interference. Today, I show how to use the same idea to estimate parameters in a longitudinal marginal structural model (MSM) (Robins 1999; Robins, Hernán, and Brumback 2000). This post is mostly me proving to myself that it works when combining interference with longitudinal data in a MSM.Closing in on understanding R closures
https://www.functionalstatistics.com/posts/2021-02-05-r-closure-size/
Fri, 05 Feb 2021 09:19:14 -0500https://www.functionalstatistics.com/posts/2021-02-05-r-closure-size/A common and useful pattern I use in R programming is currying to create closures for later computation. This pattern is the main abstraction of my geex package, for example. At NoviSci we use closures all the time in data pipelines. I think of a closure as a function f that returns another function g, where the returned g function (hopefully) has the data necessary to do its computation:Creating a Plasmode Simulator for Comparing Causal Estimators with Spatial Interference
https://www.functionalstatistics.com/posts/2021-01-27-plasmode-simulations-for-causal-estimators/
Wed, 27 Jan 2021 09:19:14 -0500https://www.functionalstatistics.com/posts/2021-01-27-plasmode-simulations-for-causal-estimators/Most statistical methods papers include simulations to check the operating characteristics of the proposed methods. Data generating mechanisms for these simulations are often contrived as mixtures from known parametric distributions. While these simulators do the job, in this post, I demonstrate a simulation technique designed to increase the versimilitude to the study data actually collected. I’ve used this approach in the past, but only recently learned a name for it: plasmode simulation.Permutation Weighting, Causal Inference, and Interference
https://www.functionalstatistics.com/posts/2021-01-19-permutation-weighting-causal/
Tue, 19 Jan 2021 09:19:14 -0500https://www.functionalstatistics.com/posts/2021-01-19-permutation-weighting-causal/One of my (many) side projects is estimating the effect of land conservation on outcomes such as deforestation. This is an exciting collaboration with Christophe Nolte at Boston University. I decided to use this project as an opportunity to refresh my knowledge on causal inference with interference (Hudgens and Halloran 2008) as well as take a closer look at several interesting articles that came across my desk. In this post, I try out the estimation framework in one of those articles and explore how it may be useful in the presence of interference.About Me
https://www.functionalstatistics.com/about/
Mon, 01 Jan 0001 00:00:00 +0000https://www.functionalstatistics.com/about/I am a statistician by training, and I am particularly interested in developing and applying causal inference methods in ecology and conservation. In these domains, causal inference methods are often complicated by the fact that a unit’s potential outcomes may depend on the exposure of other units. This is known as causal inference with interference.
I maintain several R packages, including geex, a package which (hopefully) makes programming estimating equations easier.Contact
https://www.functionalstatistics.com/contact/
Mon, 01 Jan 0001 00:00:00 +0000https://www.functionalstatistics.com/contact/ Email: bradleysaul@gmail.com Twitter: @bradleysaul Software
https://www.functionalstatistics.com/software/
Mon, 01 Jan 0001 00:00:00 +0000https://www.functionalstatistics.com/software/geex (R) Framework for estimating parameters and the empirical sandwich covariance matrix from a set of unbiased estimating equations (i.e. M-estimation) in R.
github CRAN JSS paper inferference (R) Provides methods for estimating causal effects in the presence of interference. Currently it implements the IPW estimators proposed by EJ Tchetgen Tchetgen and TJ Vanderweele in “On causal inference in the presence of interference” (Statistical Methods in Medical Research, 21(1) 55-75).