Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Болталка (https://forum.antichat.xyz/forumdisplay.php?f=46)
-   -   нормализированный коэффициент корреляции (https://forum.antichat.xyz/showthread.php?t=20447)

ProTeuS 12.06.2006 22:13

нормализированный коэффициент корреляции
 
кто-нить может внятно сказать\ответить\помо4ь в сабЖе, если есть несколько массивов 4исел и нужно на практике в своей программе подс4итать меру их схожести к другому (само понятие и формулы есть и в википедии, и в екселе-реализация, нужен совет по практи4еской реализации в конкретно своей проге исходя из описанных входных данных)???

буду рад услЫшать 4то-нить от людей, которым больше 4ем мне пощасливилось у4ить матстатистику...

Trinux 13.06.2006 00:29

А какие проблемы? Сравниваешь каждый элемент массива с остальными в определенном порядке, при этом несовпавшие массивы сразу вычеркиваешь

NaX[no]rT 13.06.2006 01:03

Цитата:

подс4итать меру их схожести к другому
Создаёшь какую либо переменную, затем поэлементно сравниваешь один массив с другим если элементы совпали inc(переменная). В какой больше всего будет, значит и будут самые похожие... вроде элементарно

ProTeuS 13.06.2006 01:37

да нет, ребятки, inc(совпадений) - это мера 4астотного совпадения элементов в двух массивах, мне же нужно их скоррелировать: http://ru.wikipedia.org/wiki/%D0%9A%...86%D0%B8%D0%B8

NaX[no]rT 13.06.2006 02:41

аа )) воть ты про что ... в формулу составить нужно?))

Algol 13.06.2006 11:48

Цитата:

Сообщение от ProTeuS
кто-нить может внятно сказать\ответить\помо4ь в сабЖе, если есть несколько массивов 4исел и нужно на практике в своей программе подс4итать меру их схожести к другому (само понятие и формулы есть и в википедии, и в екселе-реализация, нужен совет по практи4еской реализации в конкретно своей проге исходя из описанных входных данных)???

буду рад услЫшать 4то-нить от людей, которым больше 4ем мне пощасливилось у4ить матстатистику...

В чем проблема-то ?
Нет формулы? Есть формула но не знаешь как реализовать?
Какой коэфф корреляции? Пирсона?

ProTeuS 14.06.2006 02:40

есть формула (http://ru.wikipedia.org/wiki/%D0%9A...%86%D0%B8%D0%B8), но не знаю как реализовать, т.к. не понимаю взаумных понятий мат. статистики

Algol 14.06.2006 11:50

Вот вроде вразумительно написано http://www.usatic.narod.ru/test-teor4-1-4.html
А вообще-то такие элементарные вещи нужно уметь считать и без форумул ))

Brun 14.06.2006 14:54

недавно надо было. Вот и стряпал.
Код:

procedure TForm1.korelExecute(Sender: TObject);
var i,j,jj,n:integer;
listitem:tlistitem;
sc:string;
begin
  for i:=1 to 2000 do
  begin
    x[i]:=0;
    p1[i]:=0;
    p2[i]:=0;
    p3[i]:=0;
  end;

  for j:=1 to 3 do for i:=1 to 3000 do px[j][i]:=0;
  n:=form1.StringGrid3.RowCount-1;
  for i := 1 to n do
  if (form1.StringGrid3.Cells[2,i] <> '-') and (form1.StringGrid3.Cells[2,i] <> '') then
    px[1][i]:=StrToInt(form1.StringGrid3.Cells[2,i]) else px[1][i]:=0;
  for i := 1 to n do
  if (form1.StringGrid3.Cells[3,i] <> '-') and (form1.StringGrid3.Cells[3,i] <> '') then
    px[2][i]:=StrToInt(form1.StringGrid3.Cells[3,i]) else px[2][i]:=0;
  for i := 1 to n do
  if (form1.StringGrid3.Cells[4,i] <> '-') and (form1.StringGrid3.Cells[4,i] <> '') then
    px[3][i]:=StrToInt(form1.StringGrid3.Cells[4,i]) else px[3][i]:=0;

  for j:=1 to 8 do
  begin
    with form1.ListView1 do
    begin
      ListItem := Items.Add;ListItem.Caption :='';
      for jj:=0 to 7 do ListItem.SubItems.Add('');
    end;
  end;



  for j:=1 to 3 do
  begin
    for i:=1 to n do mx[j]:=mx[j]+px[j][i];
    mx[j]:=mx[j]/(n);
  end;
  //Розрахунок середньоквадратичного відхилення//
  for j:=1 to 3 do
  begin
    s[j]:=0;
    for i:=1 to n do s[j]:=s[j]+sqr(px[j][i]-mx[j]);
      s[j]:=s[j]/(n-1);
      sigma[j]:=sqrt(s[j]);
    end;
  for j:=1 to 3 do
  begin
    form1.ListView1.Items.Item[j-1].caption:=inttostr(j);
    for jj:=1 to 3 do
    begin
      r[j,jj]:=0;
      for i:=1 to n do
      r[j,jj]:=r[j,jj]+((px[j][i]-mx[j])*(px[jj][i]-mx[jj]));
      r[j,jj]:=r[j,jj]/((n-1)*sigma[j]*sigma[jj]);
      str(r[j,jj]:5:8,sc);
      form1.ListView1.Items.Item[j-1].SubItems[jj-1]:=sc;
    end;
  end;


end;

Вот кусок кода для Delphi. Если что не понятно, то стучи.


Время: 17:05