Duolingo Leagues

Duolingo, the language learning app, places users in groups of 50 and assigns a league to each user to encourage competition. The leagues are Bronze, Silver, Gold, Sapphire, Ruby, Emerald, Amethyst, Pearl, Obsidian, and Diamond (in that increasing order) What proportion of Duolingo users are in each league? The rules are everyone starts in the Bronze League the top 15 percent of each group gets promoted to the next league up (measured weekly) the bottom 10 percent of each group is related downward In this post, I will try out some stochastic processes calculations to answer that question.

Curse of Dimensionality

Today, I hope to present a quick glimpse at the phenomenon called the “Curse of Dimensionality”. For this demonstration, I am simply calculating how much random data stays within two standard deviations (in the Euclidean norm) as we go from one dimension to higher dimensions. Random Data Here are 10 vectors of 100 random numbers each sampled from the standard normal distribution stored as a matrix … X <- matrix(rnorm(1000), nrow = 100, ncol = 10) … and as a data frame.

Graduation Rates

In this post, I want to run an example of absorbing states in stochastic processes. This example is based on Example 3.29 in Introduction to Stochastic Processes in R by Robert Dobrow. Data The data I have assembled is based on IRDS reports from my own University of California at Merced.

weights weights <- c(20, 70, 0, 0, 10, 0, 0, 5, 89, 0, 6, 0, 0, 0, 3, 94, 3, 0, 0, 0, 0, 24, 1, 76, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 100) sparse_weights <- weights[weights > 0] # transition matrix (row stochastic) P <- matrix(weights, nrow = 6, byrow = TRUE)*0.