Björn Holzhauer

Björn Holzhauer

@bjoernstats.bsky.social

Biostatistician that keeps geese, chess CM, Kaggle master, one of the authors of Applied Modelling in Drug Development https://opensource.nibr.com/bamdd/

127 followers623 following39 posts

Observations on driving around 800 km (and back) with our electric estate (station wagon) for the summer holidays (mostly through France) The good: 1. Young kids need more breaks than the battery. 2. Charging time is about right for a food and playground break.

3. Only had to wait for charger once (kind of foreseeable: gap in chargers after that, so everyone wanted to stop there). The bad: 4. Charger user interfaces are terrible: confusing menus, unclear instructions, screens hard to see in sunlight. 5. Called support 2x to detach (at least that worked).

I hope/expect all of that will just get even better with time. Disclaimers: Didn't go on most popular travel day, so there's probably days in the year where chargers are busier. Of course, two adult drivers without kids taking turns would have fewer/shorter breaks with a petrol car.

View full thread
View full thread

With the marginal estimator of Ye et al. 2024 (using the RobinCar2 R package) the hazard ratios stayed on average the same as the covariates get more prognostic, but the estimates become more variable while the standard errors got narrower (just as expected). doi.org/10.1093/biom...

doi.orgCovariate-adjusted log-rank test: guaranteed efficiency gain and universal applicabilitySummary. Nonparametric covariate adjustment is considered for log-rank-type tests of the treatment effect with right-censored time-to-event data from clini

That’s interesting, because Ye et al.'s method is also robust to mis-specified covariate relationships (but not to censoring depending on prognostic covariates). In contrast, conditional Cox reg. has problems at least in the pretty extreme scenarios of Jiang et al. 2008. doi.org/10.1002/sim....

doi.orgThe type I error and power of non‐parametric logrank and Wilcoxon tests with adjustment for covariates—A simulation studyTime-to-event outcomes are common for oncology clinical trials. Conventional methods of analysis for these endpoints include logrank or Wilcoxon tests for treatment group comparisons, Kaplan–Meier su...
View full thread

On average, more favourable hazard ratios outweigh the wider standard error in conditional Cox regression, but with simulations we illustrated that you’d need much stronger prognostic covariates to get consistently better results.

Looking into the why, it’s because these prognostic covariates were not very strongly associated with the CV outcomes + only a low proportion of patients experience an event (yes, that has an effect). That’s often the case for CVOTs.

I just had my first top 1% finish (24/2639) in a Kaggle (tabular playground series) competition. Accuracy is such a noisy low information competition metric (even with 10,000s observations) that you have to be very careful to not overfit the out-of-fold observations of your cross-validation.

View full thread

My selected solution was a simple average of multiple CatBoost, LightGBM using target encoding for categories, logistic regressions & seed averaged fastai NNs with embeddings of dim 1-4 for all features (numeric ones had low cardinality) and 2 small hidden layers (10 & 5) trained with focal loss.

I find these tabular competitions a useful learning tool (tabular data is what I'm dealing with most of the time, just usually much smaller). E.g. I learnt a lot on the internals of CatBoost. I also should write up my thoughts on tuning GBDTs (e.g. don't tune the learning rate, lower is better).

I just had my first top 1% finish (24/2639) in a Kaggle (tabular playground series) competition. Accuracy is such a noisy low information competition metric (even with 10,000s observations) that you have to be very careful to not overfit the out-of-fold observations of your cross-validation.

I think it's generally a good idea to not take the performance of early stopping per CV fold, but to rather take the best number of iterations (or epochs) averaging across folds. It's particularly so with such a noisy low information metric, so that was an important part of my solution.

View full thread

I mean, sure, this clinical trial was conducted long enough ago, that the company is not legally required to report the results. Still, it feels disappointing that it's so hard to find the outcomes for a large(ish) trial on a widely used drug.

Is there something more clever than what the directlabels R package offers? The style of plot like in this hypothetical example (where geom_dl(method="smart.grid") worked well) is so useful. Yet, all too often it struggles to place labels well & I end up using geom_text manually.

View full thread

Annotating on the plot rather than making people go looking forth and back to a legend is such a nice way of making your graphics easier to read. In combination with some of the other graphics principles on graphicsprinciples.github.io like well chosen colors (vs. different dashed lines), ...

graphicsprinciples.github.iographics principles - WelcomeThis is the home page for effective visual communication and good graphical principles for quantitative scientists.

Is there something more clever than what the directlabels R package offers? The style of plot like in this hypothetical example (where geom_dl(method="smart.grid") worked well) is so useful. Yet, all too often it struggles to place labels well & I end up using geom_text manually.

You are up to date.