СОИ_Лаба_1
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
доцент |
|
|
|
Е.А. Бакин |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №1 |
Точечное оценивание моментов случайной величины |
по курсу: Статистическая обработка информации |
|
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
4616 |
|
|
|
А.В.Павлов |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2018
Цель работы
Ознакомление со способами моделирования случайных чисел с заданным законом распределения в современных математических пакетах, получение навыков нахождения выборочных моментов случайной величины и получение навыков наглядного представления результатов статистической обработки данных.
Вариант 7
Экспоненциальное |
Рисунок 1- График плотности вероятностей
Рисунок 2 – График интегральной функции распределения случайной величины
-
Аналитический расчет
Плотность вероятности:
Функция распределения
Мат ожидание
Дисперсия
Среднеквадратичное отклонение
4 центральный момент
-
Описание разработанной программы
Имя переменной |
Тип |
Назначение |
t |
Список |
Список от 0 до 1000 с шагом 1 |
choose |
Целочисленное |
Выбор варианта |
En,enn |
Список |
Список из точек для лог графика ,список из всех лог графика усредненные |
Rnd |
Список |
Выборка из 1000 чисел по эксп. распределению |
V_mo |
|
Список- точек мат ожидания |
Func,Mo,desp,sigman,b4,sigma
|
вещественная |
Плотность распред,мат ожидание, дисперсия, 2 центр. Момент, 4 центр момент,ско |
logteor,sigma_v,sigma_m,sigma |
список |
Список из точек: теоретического лог графика, 3 сигм, -3 сигм |
Листинг
Импорт библиотек для построение графика и вычислений
Создание фигуры
Создание графика ax1(График 1)
Настройка параметров графика1 (Начальные коорд и лимиты)
Создание графика logx(График 2)
Настройка параметров графика2 (Начальные коорд и лимиты)
Создание графика logsr(График 3)
Настройка параметров графика3 (Начальные коорд и лимиты)
Функия main
Если choose=1
То запуск функции var1
Иначе запуска функции var2
От I до в диапазоне (0,100) делай
Запуск функции spisok
Запуск функции log
Добавление списка en к списку enn
От x до распаковано списка en
Сумма х делить 100
Рисование графика среднего логарифма
Функция список
Создание списка rnd из 1000 переменных по экспоненциальному закону
count = суммы списка rnd
#Подсчет списка точек мат ожидания
Если choose=1 то
сумма n элемента rnd делить на n
Иначе
Сумма n элемента rnd делить на n в квадрате и деленая на n
Рисование графика из точек мат ожидания(v_mo)
Функиция var1
Подсчет мат ожидания, десперсии,2 центрального момента,ско через интеграл
Вывод на экран
#Посдчет списка точек для графика лог.средний
От q до в диапазоне (1,1001) делай и записывай в список logteor
Sigman(2 центр момент)-mo в квадрате деленое на q
#Подсчет точек 3 сигм для графика
От n до в диапазоне (1,1001) делай и записывай в список sigma_v
Mo+3*корень из (sigman-мо в квадрате)/n
От n до в диапазоне (1,1001) делай и записывай в список sigma_m
Mo+(-3)*корень из (sigman-мо в квадрате)/n
Рисование на ax1, t по оси абсцисс, по оси ординат sigma_v
Рисование на ax1, t по оси абсцисс, по оси ординат sigma_m
Рисование на ax1, t горизонтальную линию
Установка лимита по х и у
Рисование на logsr, t по оси абсцисс, по оси ординат logteor
Функиция var2
Подсчет мат ожидания, десперсии,2 центрального момента,ско, 4 центрального момента через интеграл
Вывод на экран
#Посдчет списка точек для графика лог.средний
От q до в диапазоне (1,1001) делай и записывай в список logteor
Sigman(2 центр момент)-mo в квадрате деленое на q
#Подсчет точек 3 сигм для графика
От n до в диапазоне (1,1001) делай и записывай в список sigma_v
Mo+3*корень из (sigman-мо в квадрате)/n
От n до в диапазоне (1,1001) делай и записывай в список sigma_m
Mo+(-3)*корень из (sigman-мо в квадрате)/n
Рисование на ax1, t по оси абсцисс, по оси ординат sigma_v
Рисование на ax1, t по оси абсцисс, по оси ординат sigma_m
Рисование на ax1, t горизонтальную линию
Установка лимита по х и у
Рисование на logsr, t по оси абсцисс, по оси ординат logteor
Функция log
Пустой список en
Если choose =1
То от z до диапазона(1000)
Делай tt=( z-элемент – мо)в квадрате
Добаить tt в список en
Иначе делай
от z до диапазона(1000)
Делай tt=( z-элемент – десперсия)в квадрате
Добаить tt в список en
Рисование на logx, t по оси абсцисс, по оси ординат en
Запуск функции main
Листинг программы
from sympy import *
import numpy as np
import matplotlib.pyplot as plt
import math
import random
#рисование фигур
fig = plt.figure()
ax1 = fig.add_axes([0,0,1,1])
ax1.grid(True, color = 'g', lw = 0.2)
ax1.set_ylabel('Мат ожидание', fontsize = 16, color = 'g', rotation = 90)
ax1.set_xlabel('Количество N', fontsize = 16, color = 'b')
logx = fig.add_axes([0,1.2,1,1])
logx.set_xlim(2^0,1000)
logx.grid(True)
logsr = fig.add_axes([1.2,1.2,1,1])
logsr.grid(True)
logsr.set_xlim(2^0,1000)
t=np.arange(0,1000,1)
def main():
global choose
choose = int(input('Ввод= '))
if choose == 1:
var1()
else:
var2()
#Запускаем 100 раз и считаем лог-график
enn=[]
for i in range(100):
spisok()
log()
enn.append(en)
logsred=[sum(x)/100 for x in zip(*enn)]
logsr.loglog(t, logsred, basex=2,lw=2)
def spisok():
#список из 1000 эл
global rnd
rnd=[random.expovariate(4) for i in range (1000)]
count=sum(rnd)
global v_mo
v_mo=[]
if choose==1:
#Мат ожидание
summ=0
for N in range(1,1001):
s = rnd[N-1]
summ += s
smo= summ/N
v_mo.append(smo)
else:
summ=0
ddes=0
for N in range(1,1001):
s = rnd[N-1]
summ += s
smo= summ/N
ddes+=((rnd[N-1]-smo)**2)
v_mo.append(ddes/N)
ax1.plot(t,v_mo,zorder=0.3)
def var1():
global mo
global logteor
global sigma_v
global sigma_m
#Подсчет начальных данных
x=Symbol('x')
func = 4*exp(-4*x)
mo = integrate(x*func,(x, 0, np.inf)).n()
func1= ((x-mo)**2)*func
desp= integrate(func1,(x, 0, np.inf)).n()
sigma=sqrt(desp)
sigman=integrate((x**2)*func,(x, 0, np.inf)).n()
print('Мат ожидание=',mo, '\n' 'Дисперсия=',desp,'\n' 'СКО=',sigma)
logteor=[((sigman-mo**2)/q) for q in range(1,1001)]
#Подсчет 3 сигм
sigma_v=[mo+3*((sigman-mo**2)/n)**(1/2) for n in range(1,1001)]
sigma_m=[mo+(-3)*((sigman-mo**2)/n)**(1/2) for n in range(1,1001)]
#Рисование
ax1.plot(t,sigma_v, color='green',lw=4)
ax1.plot(t,sigma_m, color='green',lw=4)
ax1.axhline(mo, color = 'red',lw=4,zorder=1 )
ax1.set_ylim(0,0.5)
ax1.set_xlim(0,1000)
logsr.loglog(t,logteor,basex=2,lw=2)
def var2():
global mo
global logteor
global sigma_v
global sigma_m
global desp
#Подсчет начальных данных
x=Symbol('x')
func = 4*exp(-4*x)
mo = integrate(x*func,(x, 0, np.inf)).n()
func1= ((x-mo)**2)*func
desp= integrate(func1,(x, 0, np.inf)).n()
sigma=sqrt(desp)
sigman=integrate((x**2)*func,(x, 0, np.inf)).n()
func2=((x-mo)**4)*func
b4 = integrate(func2, (x, 0, np.inf)).n()
print('Мат ожидание=',mo, '\n' 'Дисперсия=',desp,'\n' 'СКО=',sigma,'\n' '4 Центр момент = ',b4)
logteor=[((b4-desp**2)/q) for q in range(1,1001)]
#Подсчет 3 сигм
sigma_v=[desp + 3*((b4-desp**2)/n)**(1/2) for n in range(1,1001)]
sigma_m=[desp+(-3)*((b4-desp**2)/n)**(1/2) for n in range(1,1001)] #Рисование
#Рисуем
ax1.plot(t,sigma_v, color='green',lw=4)
ax1.plot(t,sigma_m, color='green',lw=4)
ax1.axhline(desp, color = 'red',lw=4,zorder=1 )
ax1.set_ylim(0,0.5)
ax1.set_xlim(0,1000)
logsr.loglog(t,logteor,basex=2,lw=2)
#Лог график
def log():
global en
en=[]
if choose==1:
for z in range(1000):
tt=(v_mo[z] - mo)**2
en.append(tt)
else:
for z in range(1000):
tt=(v_mo[z] - desp)**2
en.append(tt)
logx.loglog(t, en, basex=2,lw=2)
main()
5)График по пунктам 5-6
Рисунок 3- График зависимости мо от N
6) График по пунктам 7-8
Рисунок 4 – График зависимости квадрата ошибки от объема выборки, где ось абсцисс это объём выборки
7)График по пунктам 8-9
Рисунок 5 – Оранжевые график - усредненный график зависимости квадрата ошибки от объема выборки, а синий график – теоретически подсчитанный
8) Графики при оценки 2 центрального момента
Рисунок 6 – Графики при оценки 2 центрального момента
Выводы:
В ходе лабораторной работы, я научился точечно оценивать моменты случайной величины с помощью python.
Данные подсчитанные вручную и с помощью программы совпали,
И данные для вторых центральных моментах совпали
Оценка мат ожидания от количество N лежит в диапазоне 3 сигм, график симметричен. График зависимости квадрата ошибки от объема выборки и теоретический график, так же совпадают.
Все это говорит о правильности выполненной работы