Используя метод вычетов, сгенерировать последовательность из 1 000 псевдослучайных чисел, результат вывести на экран. 1.1. Оценить математическое ожидание полученной последовательности, математическое ожидание и выборочную среднюю вывести на экран.
1.2. Оценить дисперсию полученной последовательности, дисперсию и выборочную дисперсию вывести на экран.
Шаг 1: Генерация последовательности из 1 000 псевдослучайных чисел с помощью метода вычетов.
Метод вычетов основан на следующей идее: мы начинаем с некоторого начального числа, называемого seed (зерно), и затем последовательно генерируем новые числа, основываясь на предыдущем числе.
В качестве примера, предположим, что наше начальное число (seed) равно 2. Мы можем генерировать новые числа, используя следующую формулу:
новое_число = (предыдущее_число * a + b) % m,
где a, b и m - это числа, выбранные заранее. Они называются параметрами метода вычетов.
Далее, чтобы генерировать последовательность чисел, мы просто повторяем этот процесс 1 000 раз.
Теперь посмотрим на конкретные значения параметров, которые мы будем использовать:
a = 1664525,
b = 1013904223,
m = 2^32.
Используя эти параметры, мы можем приступить к генерации последовательности из 1 000 псевдослучайных чисел:
```
seed = 2
sequence = []
for i in range(1000):
new_number = (seed * 1664525 + 1013904223) % (2 ** 32)
sequence.append(new_number)
seed = new_number
```
Шаг 2: Оценка математического ожидания и выборочной средней полученной последовательности.
Математическое ожидание (среднее значение) последовательности можно вычислить, просто найдя сумму всех чисел последовательности и разделив её на количество чисел:
```
mean = sum(sequence) / len(sequence)
```
Чтобы оценить выборочную среднюю, мы также найдем среднее значение, но только на основе некоторой выборки из последовательности, скажем, 100 чисел:
```
sample_mean = sum(sequence[:100]) / 100
```
Шаг 3: Оценка дисперсии и выборочной дисперсии полученной последовательности.
Дисперсия характеризует степень разброса значений в последовательности. Она может быть вычислена как среднее квадратов отклонений каждого значения последовательности от среднего значения:
```
variance = sum((x - mean) ** 2 for x in sequence) / len(sequence)
```
Выборочная дисперсия аналогична, но определена для выборки из последовательности:
```
sample_variance = sum((x - sample_mean) ** 2 for x in sequence[:100]) / 100
```
Шаг 4: Вывод результатов.
Теперь у нас есть все необходимые значения для вывода результатов:
```
print("Математическое ожидание: ", mean)
print("Выборочное среднее: ", sample_mean)
print("Дисперсия: ", variance)
print("Выборочная дисперсия: ", sample_variance)
```
Этот код сгенерирует указанную последовательность из 1 000 псевдослучайных чисел, вычислит и выведет на экран математическое ожидание и выборочную среднюю, а также дисперсию и выборочную дисперсию этой последовательности.