# Discrete asymptotically decreasing function with mass 1?

I'm looking for asymptotically decreasing functions are there where the sum (probability mass) of the value corresponding to positive integers (x=1, 2, 3, ...) is 1 in the limit. Two extras would be nice:

1. It should be easy to calculate the sum of the values for the first N integers, e.g. if N=3, then some_expression(N) = f(1) + f(2) + f(3).

2. There should be a parameter that controls the "bendiness" of this function, e,g. how much it has decayed at x=3 relative to x=1.

I would assume that there are infinite such functions, but any are good. The simpler and the more ordinary, the better.

Context: This is to serve as a decay function in a model of human memory for lists of items. So subjects are presented with a list of pictures and should later recall them. These recalls are scored as correct/incorrect and modeled as binomial rates.

The model predicts that subjects have a list-length independent perfect recall for N pictures in the set and a non-perfect list-length dependent recall for the rest of the presented pictures. Specifically, for this imperfect recall, the probability of recall for each of these pictures decreases as the number of pictures increase but the number of pictures recalled in this range increases as more pictures are presented (hence I'm interested in the sum at integer values). So I would like to have a function for the recall rate f which sums to 1 so that the total capacity for >N items can be expressed as capacity*f(x).

Here you go:

$$f(k) := \frac{1-r}{r}r^k,$$

where $0<r<1$.

This is a geometric series. By the formula for its partial sum (a nice exercise in mathematical induction),

$$\sum_{k=1}^N r^k = \frac{r-r^{N+1}}{1-r},$$

so

$$\sum_{k=1}^N f(k) = \frac{1-r}{r}\frac{r-r^{N+1}}{1-r} = \frac{r-r^{N+1}}{r} = 1-r^N,$$

and that is the partial sums you are looking for. (Plus you see how the infinite sum is 1.) And as requested, $r$ controls the "bendiness":

NN <- 8
rr <- c(0.1,0.3,0.5)
foo <- outer(rr,1:NN,function(xx,yy)(1-xx)*xx^yy/xx)

plot(1:NN,foo[1,],type="o",pch=19,xlab="k",ylab="f(k)")
for ( ii in seq_along(rr) ) lines(1:NN,foo[ii,],type="o",col=ii,pch=19)
legend("topright",lwd=1,pch=19,col=seq_along(rr),legend=rr)

• This is extremely beautiful - both the geometric series solution and your answer. Jun 14, 2016 at 11:21
• Thank you! I agree about the geometric series, and I appreciate your comment on my answer (note the difference). Jun 14, 2016 at 11:22
• The last formula for the partial sum can be simplified to 1-r^N. I just updated the answer with this. Nov 26, 2017 at 20:59