Двумерные случайные величины
Вначале введем понятие независимости случайных величин.
Дискретные случайные величины X и Y называются независимыми, если независимы при любых i и I события X = xi и Y = yI (i = 1, 2, ..., n; I = 1, 2, ..., m).
Понятие независимости случайных величин распространяется на любое конечное число случайных величин.
Случайные величины, которые рассматривались ранее, называются еще одномерными. В теории вероятностей рассматриваются еще, так называемые двумерные, трехмерные и вообще многомерные случайные величины.
Определение. Случайная величина называется двумерной, если все значения ее имеют вид (xi, yI), причем 1
![](image/image060.gif)
![](image/image060.gif)
![](image/image060.gif)
![](image/image060.gif)
Событие, заключающееся в том, что двумерная величина примет значение (xi,yi), означает произведение двух событий:
1) случайная величина X примет xi;
2) случайная величина Y примет значение yi. Вероятность этого события обозначим piI: piI = = P(X = xi; Y = yi). Совокупность всех пар значений (xi, yi) и соответствующих им вероятностей piI составляет закон распределения двумерной случайной величины.
Обозначим через P (Y=yi) условную вероятность того, что X=xi случайная величина Y примет значение yi относительно события, состоящего в том, что случайная величина X приняла значение xi. По определению эту вероятность считаем равной:
![](image/image364.gif)
Пример 1. Известны результаты стрельб для 2-х стрелков при 3-ч выстрелах: X - число попаданий первого стрелка, Y - число попаданий второго стрелка.
xi | 1 | 2 | 3 | yi | 1 | 2 | 3 | ||||||||
pi | 0.3 | 0.2 | 0.5 | pi | 0.1 | 0.6 | 0.3 |
Найти среднее число попаданий каждого стрелка и среднее квадратическое отклонение этих случайных величин.
Решение
По формуле для вычисления математического ожидания
![](image/image365.gif)
По формуле
![](image/image366.gif)
Сравнив их, выясним который из стрелков получает лучший результат при стрельбе.
Программа
Program
Two_dimensional_aleatory_variables1;
uses WinCrt;
Const
k = 10;
Type
t = array[1..k] of real;
var
Px , Py : t;
MX, MY, DX, DY : real;
n, m, i : integer;
begin
write('Введите число выстрелов первого стрелка '); readln(n);
write('Введите число выстрелов второго стрелка '); readln(m);
writeln;
writeln('Вводите вероятности попаданий первого стрелка');
MX := 0;
for i := 1 to n do
begin
write('Вероятность попадания при ', i, '-ом выстреле ');
readln(px[i]);
MX := MX + i*px[i]
end;
writeln('Среднее число попаданий первого стрелка ', MX:2:4);
writeln;
writeln('Вводите вероятности попаданий второго стрелка');
MY := 0;
for i := 1 to m do
begin
write('Вероятность попадания при ', i, '-ом выстреле ');
readln(py[i]);
MY := MY + i*py[i]
end;
writeln('Среднее число попаданий второго стрелка ', MY:2:4);
writeln;
DX := 0;
for i := 1 to n do DX := DX + sqr(i - MX)*px[i];
DY := 0;
for i := 1 to m do DY := DY + sqr(i - MY)*py[i];
if sqrt(DX) < sqrt(DY)
then writeln('Первый стрелок стреляет лучше')
else
if sqrt(DX) > sqrt(DY)
then writeln('Второй стрелок стреляет лучше')
else writeln('Стрелки стреляют с одинаковой точностью')
end.
Пример 2. По данным задачи 1 найти ряд распределения случайной величины Z, равной а) X + Y; б) 5X + 3Y.
Определить в каждом случае математическое ожидание и дисперсию.
Решение
а) Для нахождения значений Z можно воспользоваться матрицей сумм значений X и Y.
X\Y |
1 |
2 |
3 |
1 |
(1 + 1) |
(1 + 2) |
(1 + 3) |
2 |
(2 + 1) |
(2 + 2) |
(2 + 3) |
3 |
(3 + 1) |
(3 + 2) |
(3 + 3) |
Procedure Sum(n, m : integer; x, y : t; var zz : t);
var
i, I, k : integer;
begin
k := 0;
for i := 1 to n do
for I := 1 to m do
begin
k := k + 1;
zz[k] := x[i] + y[I]
end
end;
В результате получаются значения Z, среди которых будут повторяющиеся (2, 3, 3, 3, 4, 5, 4, 5, 6).
Необходимо выбрать только различные значения суммы Z = X + Y.
Это можно выполнить с помощью процедуры, которая детально рассматривается в главе "Задачи с массивами чисел".
{ Процедура отбора различных элементов в массиве Z }
Procedure Different(n, m : integer; var z : t; var k : integer);
label 1;
var
i, I : integer;
begin
k := 0;
for i := 1 to n*m do
begin
for I := 1 to k do
if z[i] = z[I] then goto 1;
k := k + 1;
z[k] := z[i];
1: end
end;
Получим, для нашего примера, что Z может принимать значения 2, 3, 4, 5, 6. Определим вероятности, учитывая, что X и Y независимы.
P(Z = 2) = P(X = 1)P(Y = 1);
P(Z = 3) = P(X = 1)P(Y = 2) + P(X = 2)P(Y = 1);
P(Z = 4) = P(X = 1)P(Y = 3) + P(X = 2)P(Y = 2) + P(X = 3)P(Y = 1);
P(Z = 5) = P(X = 2)P(Y = 3) + P(X = 3)P(Y = 2);
P(Z = 6) = P(X = 3)P(Y = 3);
В результате получаем ряд распределения вероятностей.
Используя свойства математического ожидания и дисперсии и результаты примера 1, находим M(Z) = M(X) + M(Y); D(Z) = D(X) + D(Y).
Программа
Program Problem2;
uses WinCrt;
const
p = 20;
type
t = array[1..p] of integer;
tt = array[1..p] of real;
var
x, y, z : t;
px, py, pz : tt;
n, m, k, n1, i : integer;
MX, MY, MZ, DX, DY, DZ : real;
{-----------------------------------------------------------------------------------------------}
{ Процедура суммирования значений X и Y и получение Z }
Procedure Sum(n, m : integer; x, y : t; var z : t);
var
i, I, k : integer;
begin
k := 0;
for i := 1 to n do
for I := 1 to m do
begin
k := k + 1;
z[k] := x[i] + y[I]
end
end;
{-----------------------------------------------------------------------------------------------}
{ Процедура отбора различных элементов в массиве Z }
Procedure Different(n, m : integer; var z : t; var k : integer);
label 1;
var
i, I : integer;
begin
k := 0;
for i := 1 to n*m do
begin
for I := 1 to k do
if z[i] = z[I] then goto 1;
k := k + 1;
z[k] := z[i];
1: end
end;
{-----------------------------------------------------------------------------------------------}
{ Основная программа }
begin
write('Введите число стрелков '); readln(n1);
write(' Введите число выстрелов, сделанных первым стрелком '); readln(n);
write('Введите число выстрелов, сделанных вторым стрелком '); readln(m);
writeln('Вводите вероятности попаданий первого стрелка');
MX := 0;
for i := 1 to n do
begin
write('Вероятность попадания при ', i, '-ом выстреле ');
readln(px[i]);
MX := MX + i*px[i]
end;
writeln(' Среднее число попаданий первого стрелка ', MX:2:4);
writeln;
writeln('Вводите вероятности попаданий второго стрелка');
MY := 0;
for i := 1 to m do
begin
write('Вероятность попадания при ', i, '-ом выстреле ');
readln(py[i]);
MY := MY + i*py[i]
end;
writeln('Среднее число попаданий второго стрелка ', MY:2:4);
writeln;
DX := 0;
for i := 1 to n do DX := DX + sqr(i - MX)*px[i];
DY := 0;
for i := 1 to m do DY := DY + sqr(i - MY)*py[i];
MZ := MX + MY; DZ := DX + DY;
writeln('Искомый ряд распределения вероятностей');
for i := 1 to
n do
begin
x[i] := i;
y[i] := i
end;
Sum(n, m , x, y, z);
Different(n, m, z, k);
for i := 1 to k do write(z[i]:4, ' '); writeln;
pz[1] := px[1]*py[1];
pz[2] := px[1]*py[2] + px[2]*py[1];
pz[3] := px[1]*py[3] + px[2]*py[2] + px[3]*py[1];
pz[4] := px[2]*py[3] + px[3]*py[2];
pz[5] := px[3]*py[3];
for i := 1 to k do write(pz[i]:2:2, ' '); writeln;
writeln('Математическое ожидание равно ', MZ:2:4);
writeln('Дисперсия равна ', DZ:2:4)
end.