summaryrefslogtreecommitdiff
path: root/doc/knn_w.1.html
blob: 7f2a11d0bf51c8685731c043fe3853e365612514 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv='content-type' value='text/html;charset=utf8'>
  <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
  <title>knn_w(1) - Compute the weighted average nearest neighbours degree function</title>
  <style type='text/css' media='all'>
  /* style: man */
  body#manpage {margin:0}
  .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
  .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
  .mp h2 {margin:10px 0 0 0}
  .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
  .mp h3 {margin:0 0 0 4ex}
  .mp dt {margin:0;clear:left}
  .mp dt.flush {float:left;width:8ex}
  .mp dd {margin:0 0 0 9ex}
  .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
  .mp pre {margin-bottom:20px}
  .mp pre+h2,.mp pre+h3 {margin-top:22px}
  .mp h2+pre,.mp h3+pre {margin-top:5px}
  .mp img {display:block;margin:auto}
  .mp h1.man-title {display:none}
  .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
  .mp h2 {font-size:16px;line-height:1.25}
  .mp h1 {font-size:20px;line-height:2}
  .mp {text-align:justify;background:#fff}
  .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
  .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
  .mp u {text-decoration:underline}
  .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
  .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
  .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
  .mp b.man-ref {font-weight:normal;color:#434241}
  .mp pre {padding:0 4ex}
  .mp pre code {font-weight:normal;color:#434241}
  .mp h2+pre,h3+pre {padding-left:0}
  ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
  ol.man-decor {width:100%}
  ol.man-decor li.tl {text-align:left}
  ol.man-decor li.tc {text-align:center;letter-spacing:4px}
  ol.man-decor li.tr {text-align:right;float:right}
  </style>
  <style type='text/css' media='all'>
  /* style: toc */
  .man-navigation {display:block !important;position:fixed;top:0;left:113ex;height:100%;width:100%;padding:48px 0 0 0;border-left:1px solid #dbdbdb;background:#eee}
  .man-navigation a,.man-navigation a:hover,.man-navigation a:link,.man-navigation a:visited {display:block;margin:0;padding:5px 2px 5px 30px;color:#999;text-decoration:none}
  .man-navigation a:hover {color:#111;text-decoration:underline}
  </style>
</head>
<!--
  The following styles are deprecated and will be removed at some point:
  div#man, div#man ol.man, div#man ol.head, div#man ol.man.

  The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
  .man-navigation should be used instead.
-->
<body id='manpage'>
  <div class='mp' id='man'>

  <div class='man-navigation' style='display:none'>
    <a href="#NAME">NAME</a>
    <a href="#SYNOPSIS">SYNOPSIS</a>
    <a href="#DESCRIPTION">DESCRIPTION</a>
    <a href="#PARAMETERS">PARAMETERS</a>
    <a href="#OUTPUT">OUTPUT</a>
    <a href="#EXAMPLES">EXAMPLES</a>
    <a href="#SEE-ALSO">SEE ALSO</a>
    <a href="#REFERENCES">REFERENCES</a>
    <a href="#AUTHORS">AUTHORS</a>
  </div>

  <ol class='man-decor man-head man head'>
    <li class='tl'>knn_w(1)</li>
    <li class='tc'>www.complex-networks.net</li>
    <li class='tr'>knn_w(1)</li>
  </ol>

  <h2 id="NAME">NAME</h2>
<p class="man-name">
  <code>knn_w</code> - <span class="man-whatis">Compute the weighted average nearest neighbours degree function</span>
</p>

<h2 id="SYNOPSIS">SYNOPSIS</h2>

<p><code>knn_w</code> <var>graph_in</var> [<var>NO|LIN|EXP</var> <var>bin_param</var>]</p>

<h2 id="DESCRIPTION">DESCRIPTION</h2>

<p><code>knn_w</code> computes the weighted average nearest neighbours degree
function knn_w(k) of the weighted graph <var>graph_in</var> given as input. The
program can (optionally) average the results over bins of equal or
exponentially increasing width (the latter is also known as
logarithmic binning).</p>

<h2 id="PARAMETERS">PARAMETERS</h2>

<dl>
<dt><var>graph_in</var></dt><dd><p>  undirected and weighted input graph (edge list). If is equal to
  <code>-</code> (dash), read the edge list from STDIN.</p></dd>
<dt class="flush">NO</dt><dd><p>  If the second (optional) parameter is equal to <code>NO</code>, or omitted,
  the program will print on output the values of knn_w(k) for all the
  degrees in <var>graph_in</var>.</p></dd>
<dt class="flush">LIN</dt><dd><p>  If the second (optional) parameter is equal to <code>LIN</code>, the program
  will average the values of knn_w(k) over <var>bin_param</var> bins of equal
  length.</p></dd>
<dt class="flush">EXP</dt><dd><p>  If the second (optional) parameter is equal to <code>EXP</code>, the progam
  will average the values of knn_w(k) over bins of exponentially
  increasing width (also known as 'logarithmic binning', which is
  odd, since the width of subsequent bins increases exponentially,
  not logarithmically, but there you go...). In this case,
  <var>bin_param</var> is the exponent of the increase.</p></dd>
<dt><var>bin_param</var></dt><dd><p>  If the second parameter is equal to <code>LIN</code>, <var>bin_param</var> is the
  number of bins used in the linear binning. If the second parameter
  is <code>EXP</code>, <var>bin_param</var> is the exponent used to determine the width
  of each bin.</p></dd>
</dl>


<h2 id="OUTPUT">OUTPUT</h2>

<p>The output is in the form:</p>

<pre><code>    k1 knn_w(k1)
    k2 knn_w(k2)
    ....
</code></pre>

<p>If no binning is selected, <code>k1</code>, <code>k2</code>, etc. are the degrees observed
in <var>graph_in</var>. If linear or exponential binning is required, then
<code>k1</code>, <code>k2</code>, etc. are the right extremes of the corresponding bin.</p>

<h2 id="EXAMPLES">EXAMPLES</h2>

<p>To compute the average neanest-neighbours degree function of the US
air transportation network we can run:</p>

<pre><code>      $ knn_w US_airports.net
      1 81.8
      2 30.350938
      3 15.198846
      4 15.046341
      5 13.967998
      6 16.293341
      7 11.746223
      8 11.53912
      9 7.9134643
      10 8.317504
      ....
      132 0.46248989
      136 0.47312661
      145 0.37386548
      $
</code></pre>

<p>Since we have not requested a binning, the program will output the
value of knn_w(k) for each of the degrees actually observed in the
input graph (the mininum degree is 1 and the maximum degree is
145). We can also ask <code>knn_w</code> to bin the results over 10 bins of equal
width by running:</p>

<pre><code>    $ knn_w US_airports.net 10
    16 68.359133
    31 89.519255
    46 78.911709
    61 78.802765
    76 76.352358
    91 71.589354
    106 60.433329
    121 62.600988
    136 64.81641
    151 54.210494
    $
</code></pre>

<p>or to use instead an exponential binning:</p>

<pre><code>    $ knn_w US_airports.net EXP 1.3
    3 63.062388
    6 70.319368
    10 81.856768
    15 79.766008
    21 96.172011
    29 84.771533
    39 79.591139
    52 80.222237
    69 79.776163
    91 72.217712
    119 61.878435
    155 62.695227
    $
</code></pre>

<h2 id="SEE-ALSO">SEE ALSO</h2>

<p><a class="man-ref" href="knn.1.html">knn<span class="s">(1)</span></a>, <a class="man-ref" href="deg_seq.1.html">deg_seq<span class="s">(1)</span></a></p>

<h2 id="REFERENCES">REFERENCES</h2>

<ul>
<li><p>A. Barrat et al. "The architecture of complex weighted
networks". P. Natl. Acad. Sci USA 101 (2004), 3747-3752.</p></li>
<li><p>V. Latora, V. Nicosia, G. Russo, "Complex Networks: Principles,
Methods and Applications", Chapter 10, Cambridge University Press
(2017)</p></li>
</ul>


<h2 id="AUTHORS">AUTHORS</h2>

<p>(c) Vincenzo 'KatolaZ' Nicosia 2009-2017 <code>&lt;v.nicosia@qmul.ac.uk&gt;</code>.</p>


  <ol class='man-decor man-foot man foot'>
    <li class='tl'>www.complex-networks.net</li>
    <li class='tc'>September 2017</li>
    <li class='tr'>knn_w(1)</li>
  </ol>

  </div>
</body>
</html>