Математика

Физика

Химия

Биология

Техника и    технологии

  Обработка линейной корреляции   в 1С:Предприятие 8.0

 1.Существует ли  линейная(y = a + bx) связь между величинами y и x .
 

2.Имеются данные
x1,x2,x3...xN
y1,y2,y3...xN

3.Математическая формулировка данных
 

 

    корреляционная зависимость достаточна велика
и можно говорить о закономерной связи явлений

Если   то связь положительна ,
если при росте одной из величин возрастает другая величина и наоборот

Если   то связь отрицательна при росте одной из величин другая уменьшается.

 m-коэффициент корреляции служит для оценки надежности полученных значений

n-количество опытов
Если


 то  r надежно

4.Алгоритм обработки
Процедура Кнопка1Нажатие(Элемент)

Сообщить("Вычесления линеной корреляции");

Запрос = Новый Запрос;

Запрос.Текст = "
|SELECT
| SUM(Y*X)-SUM(X)* SUM(Y) /COUNT(X) AS COV ,
| (SUM(X*X)-SUM(X)*SUM(X)/COUNT(X))*(SUM(Y*Y)-SUM(Y)*SUM(Y)/COUNT(Y)) AS Coren,
| COUNT(X) AS N
|FROM Справочник.Summa " ;

в = Запрос.Выполнить().Выбрать();

Пока в.Следующий()=1 Цикл

r= (в.COV/Sqrt(в.Coren)) ;
N = в.N;
Сообщить(r);

КонецЦикла;

If r>=0.5 or r <= -0.5 Then
Сообщить("Зависимость велика и можно говорить о закомерной связи явлений " ) ;
Сообщить("При условии что это не противоречит сущности явлений")

EndIf;
// Оценка Надежности полученных значений r
m = (1-r*r)/ Sqrt(N) ;
// Сообщить(m);
//Считется,что значение r вполне надежно ,если
If r/m >=3 Then
Сообщить("r-надежно");
EndIf;



КонецПроцедур


 

Назад

Предложениями и замечаниями  обращаться по адресу- vova1001@yandex.ru

На главную страницу

Hosted by uCoz