Лямбда-функция Python не выполняет повторную выборку из распределения при применении к массиву; например при использовании:
f1 = lambda x: -3 + 0.75*x + numpy.random.randn()
Правильным способом было бы использовать map () и тем самым «отобразить» лямбда-функцию в массиве.
Однако можно легко применить лямбда-функцию к массиву.
Я спрашиваю, как это работает, но функция не выполняет повторную выборку.
MVP:
import numpy
numpy.random.seed(1)
f1 = lambda x: -3 + 0.75*x + numpy.random.randn() # dummy with random part
f2 = lambda x: -3 + 0.75*x # dummy w/o random part
# dummy data
x = numpy.arange(10)
f1(x) - f2(x)
>> array([1.62434536, 1.62434536, 1.62434536, 1.62434536, 1.62434536,
1.62434536, 1.62434536, 1.62434536, 1.62434536, 1.62434536])
numpy.var(f1(x) - f2(x)) # almost 0
Итак, я ожидаю, что дисперсия будет больше, чем 1. Пример является доказательством того, что лямбда-функция просто выполняет выборку по первому элементу, а затем больше не изменяет случайную часть.
Спасибо за ваше объяснение !!