Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Введение в программирование на Питоне и вычисление точечных оценок выборки
1) Консольные приложения на Питоне
Подключение на Visual Studio 2017 поддержки Питона. Галочка - Разработка на Python
Подключение дополнительных пакетов на Питоне
Вид - Другие окна - Окружения Python
Если numpy, matplotlib не установлены, набрать название и установить.
Создание консольного приложения на Питоне
Тест ввода-вывода
Ключевые слова, переменные не могут совпадать с ними.
Встроенные идентификаторы
Операции
+ -* / // - целочисленное деление (целая часть) % - остаток от деления ** - возведение в степень
Тип переменных определяется данными, в процессе работы программы тип может меняться.
a=(3+2)**2-3*2
b=7-5/2
c=10 // 4+11 % 5
print("a=:",a,"b=",b,"c=",c)
b=1 # теперь b целая
c=1.78 # c теперь вещественная
print("b=",b,"c=",c)
вычисление математических функций
Импортируется библиотека math
import math
x=math.pi/4
y=math.sin(x)
print(x,y)
Форматный вывод числа.
N=4.0/3
print(N)
print("%.4f " %N)
N=1234 # теперь N уже целое
print("%7d" %N) # слева будут 3 пробела
Сравнение
< > <= >= == != сравниваются значения величин
is is not - ссылка на один и тот же объект
Условный оператор if
Пример. Вычислить:
x+1, x<0
y= x^3+1, 0<= x< 4
1, x>=4
x=input("введите: ");
x=float(x) # перевод в вещ.
if x<0 :
y=x+1 # без скобок { - отступы обычно 4 пробела
elif x<4 :
y=x**3 # отступы
y=y+1 # несколько операторов - одинаковые отступы
else :
y=1 # отступы
print(y)
проверка корректности ввода через исключения try, exept
try:
k = int(input("Введите целое число: "))
except ValueError:
print(" Это не целое число!")
else:
print(k)
логические связки and or not
Пример.
Даны 4 положительных числа a,b,c,d. Программа должна вывести "да", если прямоугольник
со сторонами a,b помещается внутрь прямоугольника со сторонами c,d. Прямоугольники размещаются параллельно осям XoY.
a=input("a=")
a=float(a)
b=input("b=")
b=float(b)
c=input("c=")
c=float(c)
d=input("d=")
d=float(d)
if (a0:
B.append(A[i])
m=m+1
s += A[i]
print('Полученный массив')
for i in range(0,m):
print(B[i]) # столбиком по одному
print('Сумма положительных: ',s)
Запись в файл 4 чисел, по 2 в строке.
A=2
B=3
C=4
D=5
fd=open('1.txt','w')
s=str(A)+' '+str(B)+'\n'
fd.write(s)
s=str(C)+' '+str(D)+'\n'
fd.write(s)
fd.close()
2 3
4 5
Чтение из файла и запись в список
C=[]
f = open('1.txt','r')
while True:
s = f.readline()
if len(s) == 0: # Нулевая длина обозначает конец файла (EOF)
break
s1=s.split(' ') # как на C#
s2 =s1[0]
s2=int(s2)
C.append(s2)
s2=s1[1]
s2=int(s2)
C.append(s2)
print(C)
f.close()
2) Использование пакета numpy для работы с числовыми массивами
Пример с одномерным массивом. Задать целочисленный и вещественный массивы. Целочисленный заполнить числами, вводимыми с консоли. Элементы вещественного массива равны соответствующим элементам целочисленного массива с добавлением номера элемента.
import numpy as np
x=np.zeros((5),dtype=np.int32)
y=np.zeros((5),dtype=np.float)
for i in range(0,5):
s='x['+str(i)+']: '
x[i]=input(s)
print(x)
for i in range(0,5):
y[i]=x[i]+i
print("%.1f" %y[i])
Пример с двумерным массивом.
Матрица 2х3 задана вводом чисел с консоли, затем построена транспонированная матрица 3x2, B[i,j]=A[j,i]
import numpy as np
M=2
N=3
x=np.zeros((M,N),dtype=np.int32)
y=np.zeros((N,M),dtype=np.int32)
for i in range(0,2):
for j in range(0,3):
s='x['+str(i)+'.'+str(j)+']: '
x[i,j]=input(s)
print(x)
for i in range(0,3):
for j in range(0,2):
y[i,j]=x[j,i]
print(y)
3) Основные точечные оценки выборки
Множество всех обследуемых объектов называется генеральной совокупностью. Если
это множество содержит небольшое число элементов, то возможно полное обследование всех его элементов. Однако в большинстве случаев в силу того, что генеральная совокупность имеет очень много элементов либо ее элементы труднодоступны, либо по другим причинам обследуется некоторая часть генеральной совокупности — выборка. В этом случае основные характеристики генеральной совокупности (их называют статистиками: среднее, дисперсия и т. д.) оцениваются (т. е. определяются приближенно) по выборке. Соответствующие статистики называются «выборочное среднее», «выборочная дисперсия» и т. д.
Наиболее распространенными оценками характеристик выборки являются среднее арифметическое выборки (выборочное среднее), выборочная медиана и выборочная мода.
Для выборки объема п: х,, х2, ..., хп среднее арифметическое равно
Модой d называется элемент выборки, имеющий наибольшую частоту. Если таких несколько, обычно берут первое значение. Мода предоставляет важную информацию для производителей товаров, конструкторов, работников торговли. Например, производитель часов должен знать, по какой цене распродается основная часть его продукции, в магазине бытовой техники должны знать наиболее популярные марки товара и т. д.
Медианой называется число h, которое делит упорядоченную выборку на две части, содержащие равное количество элементов. Пусть х(1), х(2), ..., x(n) — выборка, в которой элементы расположены в порядке возрастания.
Если объем выборки n — нечетное число (n = 2k+ 1), то h =xk+1 , т. е. h является средним элементом вариационного ряда. Если же n = 2к, то h =( х(к) + xk+1)/2.
Пример.
Определить среднее, моду и медиану для выборки
5, 6, 8, 2, 3, 5, 1,4.
Упорядочиваем выборку по возрастанию.
1 2 3 4 5 5 6 8
среднее=4,25
Все элементы, кроме 5 встречаются по одному разу, поэтому мода d = 5
Медиана при n=8 h=(x(4)+x(5))/2=4,5
Пусть имеется 5 человек с 1 млн рублей и 1000 человек с 5000 рублями. Средний уровень дохода 9950 рублей. Медиана равна 5000 рублей. Не меньше половины живет на 5000 руб.
Среднее равно медиане (нормальный закон)
Среднее больше медианы
Медиана меньше среднего (бедных больше чем богатых)
Дисперсия - среднеквадратичная мера разброса элементов. Выборочная дисперсия вычисляется по формуле:
оценка среднего
n-1 используется вместо n для того, чтобы оценка дисперсии была несмещенной.
На рис. результаты стрельбы из 2 орудий. R - расстояние до мишени, есть для каждого орудия прямое попадание, но и разбросы. Среднее расстояние по всем выстрелам одинаково и равно R. Но, очевидно, каждый предпочтет красное орудие. Вычисленная дисперсия у красного орудия намного меньше, что и дает меньший разброс.
Несмещенная оценка или почему делят на n-1, а не на n.
Представим эксперимент. В n регионах планеты (например, n=100) измеряется некоторый показатель (например, рост). Собрать все данные воедино нельзя, пусть в каждом регионе вычисляются оценки среднего и дисперсии и передаются в центр. Итак, имеем n средних и n дисперсий. Складываем средние, делим на n, складываем дисперсии, делим на n. В итоге получаем общую оценку среднего по всем регионам и общую оценку дисперсии.
Если в каждом регионе дисперсия вычислялась по формуле , то итоговая средняя дисперсия (сумма всех n дисперсий деленная на n ) будет отличаться от истинного значения на (n-1)/n.
Это обнаруживается при повторных экспериментах с увеличением числа измерений в регионах или в сборе всех данных сразу в центре и вычислении оценок напрямую. При делении на n-1 смещения не происходит.
Квадратный корень из дисперсии s называется стандартным отклонением.
Асимметрия определяет величину отклонения от симметричной формы распределения
Асимметрия вычисляется по формуле:
- знаменатель - стандартное отклонение в кубе, а числитель вычисляется по формуле (третий центральный момент):
оценка среднего
Эксцесс показывает величину заостренности распределения на среднем значении.
Эксцесс вычисляется по формуле:
оценка среднего
У нормального распределения асимметрия и эксцесс равны нулю.