Vamos a ver las funciones estadísticas de varianza, desviación típica y coefeciente de variación con Kotlin. Partiremos de una lista de elementos Double y crearemos extensiones de la lista para calcularlas.
Varianza. La varianza tiene la siguiente formula.

o lo que es lo mismo

Equivale al cuadrado de la desviación típica
fun List.variance(): Double {
val n = this.count()
val average = this.average()
return this.map { (it - average).pow(2.0) / n}.sum()
}
Así que si la la desviación al cuadro es la varianza, podemos obtener la desviación obteniendo la raiz de la varianza.
fun List<Double>.stdDeviation() = sqrt(this.variance())
Por último el coeficiente de variación que es igual a la relación entre la desviación típica y el promedio.

fun List<Double>.coefficientOfVariation() = stdDeviation() / this.average()
Obtenermos una muestra aleatoria y con pocas líneas de código el resultado:
val list = (0..10).map { n-> Random.nextDouble(5.0,10.0) }
println(list)
println("Average: ${list.average()}")
println("Variance: ${list.variance()}")
println("Std Deviation: ${list.stdDeviation()}")
[5.1126146370135555, 7.961926277327813, 6.030297997339725, 7.346200593709344, 6.977298121605789, 6.480337764164781, 9.12926821809771, 9.830048028655337, 7.107841652359342, 7.047870562367113, 8.943727133742051] Average: 7.451584635125688 Variance: 1.8100002521711398 Std Deviation: 1.3453624984260337 Coefficient: 0.18054716738828816