1. Nauka
  2. /
  3. Kursy
  4. /
  5. Analiza sieci w R

Connected

ćwiczenie

Randomizacje sieci

W poprzednim ćwiczeniu mogło się okazać, że średnia długość ścieżki w sieci Forresta Gumpa jest mniejsza niż w sieci losowej. Jeśli uruchamiałeś kod kilka razy, z pewnością zauważyłeś, że niemal zawsze jest ona niższa w sieci Forresta Gumpa. Sugeruje to, że sieć Forresta Gumpa jest bardziej wzajemnie powiązana niż poszczególne sieci losowe – nawet jeśli te ostatnie mają taką samą liczbę wierzchołków i niemal identyczną gęstość grafu. Zamiast wielokrotnie powtarzać ten kod, możesz przeprowadzić bardziej formalną analizę: wygeneruj 1000 losowych grafów opartych na liczbie wierzchołków i gęstości oryginalnego grafu Forresta Gumpa, a następnie sprawdź, ile razy średnia długość ścieżki w grafach losowych jest mniejsza niż w oryginalnej sieci. Taki test nazywa się testem randomizacyjnym.

Graf g oraz jego średnia długość ścieżki (obliczona w poprzednim ćwiczeniu) g.apl są dostępne w twoim środowisku roboczym.

Instrukcje

100 XP
  • Wygeneruj 1000 losowych grafów na podstawie oryginalnego grafu g, wykonując kod tworzący obiekt listy gl oraz pętlę for.
  • Oblicz średnią długość ścieżki dla 1000 losowych grafów za pomocą lapply(). Utwórz wektor gl.apls z tych 1000 wartości, wykonując kod korzystający z unlist().
  • Narysuj histogram średnich długości ścieżek dla 1000 losowych grafów, wywołując hist() na wektorze gl.apls. Dodaj do wykresu czerwoną przerywaną linię pionową za pomocą abline(), gdzie punkt przecięcia z osią x to wartość średniej długości ścieżki oryginalnego grafu, g.apl.
  • Oblicz proporcję przypadków, w których wartości średniej długości ścieżki losowych grafów gl.apls są niższe od wartości dla oryginalnego grafu g.apl. Jest to w istocie prawdopodobieństwo, że zaobserwowana średnia długość ścieżki mogłaby pojawić się losowo, przy danej gęstości i liczbie wierzchołków oryginalnego grafu.