Почему Бог бросает кости?

Бог не играет в кости.

В письме Максу Борну Эйнштейн выразил свои сомнения по поводу зарождающейся области квантовой механики, используя ныне известную фразу «Бог не бросает кости». ему не нравилась мысль о том, что эти события произошли случайно или вероятностно.

Копенгагенская доктрина, разработанная Бором, Гейзенбергом и многими другими физиками, предполагает, что поведение субатомных частиц может быть описано только в терминах вероятностей. Другими словами, это предполагает, что мы можем только утверждать, что событие весьма вероятно, а не обязательно произойдет.

Это огромная тема для многих дисциплин, таких как психология, философия и этика, как и для квантовой механики. Мы можем (и будем) подходить к этому со статистической точки зрения.

Стохастичность — это случайность. Это качество быть случайным или непредсказуемым. Стохастический процесс — это непрерывный процесс, в котором следующее состояние может зависеть как от предыдущих состояний, так и от некоторого случайного элемента.

В стохастическом процессе будущее поведение системы не полностью определяется ее текущим состоянием или какими-либо предыдущими состояниями, а скорее зависит от случайности или случайности. Случайность в стохастическом процессе может возникать из множества источников, таких как внешний шум или внутренняя изменчивость самой системы.

Напротив, в детерминированном процессе существует одна траектория для каждого подмножества начальных условий. Будущее поведение системы полностью определяется ее нынешним состоянием и фиксированным правилом или уравнениями, управляющими ее эволюцией. В детерминированном процессе нет случайности или вероятностного поведения.

Стоит отметить, что, хотя стохастические процессы по своей природе случайны, они все же могут демонстрировать некоторую степень предсказуемости. Случайность в стохастическом процессе можно понимать как возникновение непредсказуемых событий в рамках набора вероятностных правил или уравнений, управляющих поведением системы.

В Калифорнийском университете в Беркли был проведен увлекательный эксперимент со студентами бакалавриата. Одну группу студентов попросили подбросить монету 100 раз и записать результаты, в то время как другую группу попросили предсказать, как могут выглядеть результаты 100 подбрасываний монеты без фактического подбрасывания монеты. Вторая группа просто записала последовательность «орла» и «решки» таким образом, который, по их мнению, выглядел случайным.

Эксперимент был разработан, чтобы исследовать разницу между фактической случайностью и человеческой интуицией случайности. Результаты эксперимента оказались неожиданными: у группы, которая сама подбрасывала монеты, было больше последовательно выпавших орлов и решек, чем у группы, которая просто записывала свои прогнозы. Это говорит о том, что люди склонны избегать длинных серий последовательных результатов при попытке создать случайную последовательность, что приводит к менее случайным последовательностям, чем те, которые генерируются действительно случайными процессами.

С тех пор эксперимент стал классическим примером проблем понимания случайности и важности использования правильных статистических методов, чтобы отличить истинную случайность от искусственных закономерностей, созданных человеческими предубеждениями.

В стохастической системе невозможно точно предсказать точный результат, но можно оценить вероятность возникновения определенных результатов или последовательностей.

def roll():
    return 3

Это детерминированная функция. Она всегда будет возвращать 3. Ниже мы видим функцию, которая наследует случайность. Он возвращает случайно выбранное значение.

import random

def roll():
    return random.choice([1,2,3,4,5,6])
def roll_consecutive(n = 5):
    result = []
    for i in range(n):
        result.append(roll())
    return result
print(roll_consecutive())
#[4, 5, 3, 1, 4]

Мы можем применить некоторые методы для анализа того, имеют ли наши данные стохастические характеристики.

  • Мы можем исследовать источники случайности. Стохастический процесс характеризуется наличием случайных или непредсказуемых факторов, влияющих на его поведение. Мы можем искать источники случайности в системе, такие как эффекты шума, ошибки измерения или естественная изменчивость.
import numpy as np
import matplotlib.pyplot as plt

# a random dataset
np.random.seed(42)
data = np.random.normal(loc=0, scale=1, size=1000)

plt.plot(data)
plt.title("Randomly Generated Dataset")
plt.xlabel("Data Point")
plt.ylabel("Value")
plt.show()

print("Mean: ", np.mean(data))
print("Variance: ", np.var(data))
print("Min value: ", np.min(data))
print("Max value: ", np.max(data))

"""
Mean:  0.01933205582232549
Variance:  0.9579049897315173
Min value:  -3.2412673400690726
Max value:  3.852731490654721
"""

Если набор данных демонстрирует высокую степень изменчивости или если есть выбросы или экстремальные значения, это может указывать на наличие в системе случайных или непредсказуемых факторов.

Кроме того, мы можем использовать гистограммы.

plt.hist(data, bins=10)
plt.show()

Мы видим, что данные распределены случайным образом вокруг среднего значения, равного 0, без каких-либо явных закономерностей или тенденций. Это говорит о том, что данные могут быть стохастическим процессом, поскольку нет детерминированных факторов, влияющих на поведение данных.

  • Мы можем проверить шаблоны. Стохастические процессы обычно демонстрируют закономерности или тенденции, которые лучше всего описываются статистическими моделями. Мы можем искать закономерности в данных, такие как колебания или случайные вариации, которые нельзя объяснить детерминированными факторами.
import numpy as np
import matplotlib.pyplot as plt

# Generate a random time series with both deterministic and stochastic components
t = np.arange(0, 10, 0.1)  # time points
y_det = np.sin(t)  # deterministic component
y_stoch = np.random.normal(0, 0.5, len(t))  # stochastic component
y = y_det + y_stoch  # combined signal

plt.plot(t, y, label='Observed')
plt.plot(t, y_det, label='Deterministic')
plt.xlabel('Time')
plt.ylabel('Amplitude')
plt.legend()
plt.show()

# Compute the autocorrelation of the time series
corr = np.correlate(y, y, mode='same') / len(y)  # normalize correlation
lags = np.arange(-len(y)//2, len(y)//2)
plt.plot(lags, corr)
plt.xlabel('Lag')
plt.ylabel('Autocorrelation')
plt.show()

  • Мы можем использовать статистические тесты. Чтобы определить, является ли процесс стохастическим, можно использовать различные статистические тесты. Например, критерий согласия можно использовать для сравнения наблюдаемых данных с теоретическим распределением вероятностей и определения того, является ли процесс случайным или детерминированным.
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import chi2

# a stochastic process
stochastic = np.random.normal(loc=0, scale=1, size=1000)

# a deterministic process
deterministic = np.arange(1000)

# Plot the data
fig, axs = plt.subplots(1, 2, figsize=(10, 4))
axs[0].plot(stochastic)
axs[0].set_title('Stochastic Process')
axs[1].plot(deterministic)
axs[1].set_title('Deterministic Process')
plt.show()

from scipy.stats import kstest
deterministic_pvalue = kstest(deterministic, 'norm')[1]
stochastic_pvalue = kstest(stochastic, 'norm')[1]

print(f"Deterministic p-value: {deterministic_pvalue}")
print(f"Stochastic p-value: {stochastic_pvalue}")

"""
Deterministic p-value: 0.0
Stochastic p-value: 0.17549925076152395
"""

Стохастичность также важна в машинном обучении и глубоком обучении. Это обеспечивает гибкость и обобщение в модели. Это вносит случайность в процесс обучения, что помогает модели избежать переобучения и улучшить обобщение. Стохастические методы также могут помочь улучшить скорость сходимости и оптимизировать процесс обучения.

Например, мы используем отсев — метод регуляризации, применяемый в глубоких нейронных сетях для предотвращения переобучения. Во время обучения отсев случайным образом обнуляет часть активаций нейронов. Это заставляет сеть изучать более надежные функции и не позволяет ей слишком полагаться на определенные нейроны.

В заключение знаменитая цитата Эйнштейна «Бог не бросает кости» отражает детерминистский взгляд на физический мир. Однако появление квантовой механики и стохастичности бросило вызов этому представлению. Стохастические процессы, связанные со случайностью и непредсказуемостью, являются важным аспектом многих природных явлений и сложных систем. Понимание и моделирование стохастичности имеет решающее значение в различных областях, включая финансы, экономику, физику, биологию и машинное обучение.

Читать далее











Источники

https://www.youtube.com/watch?v=-1BnXEwHUok&t=309

https://www.youtube.com/watch?v=V2fXrxqnGr4

https://www.youtube.com/watch?v=LElyagQ0n_g

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .