In [1]:
import sys
sys.path.append("..")
import numpy as np

import all_user_votes as auv
from math_calcs import largest_eigen

from ahptree import AhpNode, AhpTree

In [2]:
import all_user_nish_excel as nex

In [4]:
all_cmps=nex.from_nish_excel("Nischay/nish_data.xlsx")


['bleeding', 'sore throat', 'gp', 'qol', 'breath']
[[3, 0, 1], [4, 2, 3], [5, 4, 0], [6, 1, 3], [7, 1, 2], [8, 4, 1], [9, 2, 0], [10, 2, 4], [11, 0, 3], [12, 3, 4]]
['L1', 'L2', 'L4', 'L5', 'L6', 'L7', 'L8', 'L9', 'L10', 'T1', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7', 'T8', 'B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7', 'B8', 'B9', 'B10', 'B11', 'B12', 'B13', 'B14', 'B15', 'B16', 'B17', 'B18', 'B19', 'B20', 'B21', 'B22', 'F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'F10', 'F11', 'F12', 'F13', 'F14', 'F15', 'F16', 'P01', 'P02', 'P3', 'P4', 'P5', 'P6', 'P7', 'P8', 'P9', 'P10', 'P11', 'P12', 'P13', 'P14', 'P15', 'M01', 'M02', 'M03', 'M04', 'M05', 'M06', 'M07', 'M08', 'M09', 'M10', 'M11', 'M12', 'M13', 'M14', 'M15', 'M16', 'M17', 'M18', 'M19', 'M20', 'M21', 'M22', 'M23', 'M24', 'M25', 'M26', 'M27', 'M28', 'M29', 'M30', 'O1', 'O2', 'O3', 'O4', 'I1', 'I2', 'I3', 'I4', 'I5', 'I6', 'I7', 'I8', 'I9', 'I10', 'I11', 'I12', 'I13', 'K1', 'K2', 'K3', 'K4', 'K5', 'K6', 'K7', 'K8', 'K9', 'K10', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'H7', 'D1', 'D2', 'D3', 'D4', 'D5', 'D6', 'D7', 'D8', 'A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'A10', 'A11', 'A12', 'A13', 'A14', 'A15', 'A16', 'A17', 'A18', 'A19', 'A20', 'A21', 'A22', 'A23', 'A24', 'A25', 'A26', 'A27', 'A28', 'G01', 'G02', 'G03', 'G04', 'G05', 'G06']
[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]

In [4]:
ahp = AhpTree(pw=all_cmps)
ahp.add_alt("do")
ahp.add_alt("not")

In [5]:
ahp.root.name


Out[5]:
'root'

In [6]:
ahp.root.children[0].name


Out[6]:
'bleeding'

In [7]:
ahp.get_node(["bleeding"]).set_alt_scores([0.9, 0.1])
ahp.get_node(["sore throat"]).set_alt_scores([1, .1])
ahp.get_node(["gp"]).set_alt_scores([1., 5])
ahp.get_node(["qol"]).set_alt_scores([2., 4])
ahp.get_node(["breath"]).set_alt_scores([1.,1])

In [8]:
ahp.get_node(["bleeding"]).alt_scores


Out[8]:
array([ 1.        ,  0.11111111])

In [9]:
ahp.synthesize(None)


Out[9]:
array([ 0.,  0.])

In [10]:
all_cmps.single_stats("L1")


Out[10]:
array([ 0.5842173 ,  0.09435708,  0.04526229,  0.25683037,  0.01933295])

In [11]:
all_cmps.group_stats(["L1", "L2"])


Out[11]:
array([ 0.19912701,  0.06817219,  0.0978717 ,  0.53851537,  0.09631374])

In [12]:
all_cmps.alt_names


Out[12]:
['bleeding', 'sore throat', 'gp', 'qol', 'breath']

In [13]:
all_incons = [all_cmps.inconsistency(uname) for uname in all_cmps.user_names]

In [14]:
negative_indices = [i for i in range(len(all_incons)) if all_incons[i] < 0]

In [15]:
negative_indices


Out[15]:
[]

In [16]:
u9 = all_cmps.user_names[9]
u9mat = all_cmps.get_matrix(9)
u9mat


Out[16]:
array([[ 1.        ,  1.        ,  0.        ,  0.        ,  3.        ],
       [ 1.        ,  1.        ,  1.        ,  1.        ,  3.        ],
       [ 0.        ,  1.        ,  1.        ,  1.        ,  0.        ],
       [ 0.        ,  1.        ,  1.        ,  1.        ,  0.        ],
       [ 0.33333333,  0.33333333,  0.        ,  0.        ,  1.        ]])

In [17]:
u9eigval = largest_eigen(u9mat, value_only=True)
u9eigval


Out[17]:
5.0000002569673869

In [18]:
import pandas as pd

In [19]:
raw_data=pd.read_excel('nish_data.xlsx', sheetname='Weight', skiprows=3)

In [21]:
[ahp.synthesize(uname) for uname in all_cmps.user_names]


Out[21]:
[array([ 0.167075  ,  0.07915487]),
 array([ 0.12369523,  0.19159372]),
 array([ 0.1614778 ,  0.09750094]),
 array([ 0.12575354,  0.14991004]),
 array([ 0.14711097,  0.11167211]),
 array([ 0.12312189,  0.15255697]),
 array([ 0.18572999,  0.15934246]),
 array([ 0.13782337,  0.14944915]),
 array([ 0.16279755,  0.0820529 ]),
 array([ 0.14000007,  0.11743583]),
 array([ 0.11024032,  0.17476346]),
 array([ 0.14680055,  0.13069521]),
 array([ 0.16901116,  0.09081878]),
 array([ 0.17250127,  0.14893259]),
 array([ 0.18355523,  0.14019496]),
 array([ 0.12579655,  0.17418478]),
 array([ 0.14879581,  0.11797372]),
 array([ 0.16941445,  0.11794566]),
 array([ 0.16753704,  0.07810674]),
 array([ 0.16460756,  0.10709092]),
 array([ 0.12816872,  0.17677778]),
 array([ 0.1571592 ,  0.09628858]),
 array([ 0.14935054,  0.11547682]),
 array([ 0.17072311,  0.16954688]),
 array([ 0.13962355,  0.17575343]),
 array([ 0.12991808,  0.13856824]),
 array([ 0.18048595,  0.15059201]),
 array([ 0.1383726 ,  0.15109018]),
 array([ 0.18068528,  0.06203997]),
 array([ 0.12616511,  0.15000642]),
 array([ 0.14757891,  0.14136523]),
 array([ 0.16889753,  0.08047963]),
 array([ 0.14726504,  0.11383444]),
 array([ 0.11488981,  0.15959673]),
 array([ 0.14337836,  0.1219445 ]),
 array([ 0.14591273,  0.1653103 ]),
 array([ 0.13803706,  0.12907949]),
 array([ 0.17494607,  0.10951806]),
 array([ 0.1686322 ,  0.07636796]),
 array([ 0.13693852,  0.16214846]),
 array([ 0.148     ,  0.12844444]),
 array([ 0.1810431 ,  0.05518988]),
 array([ 0.14221384,  0.15781084]),
 array([ 0.1556573 ,  0.11635396]),
 array([ 0.16197662,  0.14753111]),
 array([ 0.15451539,  0.16943486]),
 array([ 0.13263116,  0.1398262 ]),
 array([ 0.15772402,  0.09515495]),
 array([ 0.1496437 ,  0.11461101]),
 array([ 0.15394331,  0.12884143]),
 array([ 0.17126891,  0.10234324]),
 array([ 0.148     ,  0.12844444]),
 array([ 0.12348795,  0.15467921]),
 array([ 0.16765053,  0.07823862]),
 array([ 0.12669485,  0.14696515]),
 array([ 0.1525945 ,  0.13407834]),
 array([ 0.14872436,  0.14225019]),
 array([ 0.11552448,  0.17244867]),
 array([ 0.11956909,  0.18616042]),
 array([ 0.15291755,  0.12494617]),
 array([ 0.14371436,  0.17127977]),
 array([ 0.1798089 ,  0.05621595]),
 array([ 0.148     ,  0.12844444]),
 array([ 0.15940228,  0.10073824]),
 array([ 0.15184288,  0.16900382]),
 array([ 0.12419923,  0.15194289]),
 array([ 0.15410251,  0.11559629]),
 array([ 0.16182637,  0.14823409]),
 array([ 0.12590731,  0.17908892]),
 array([ 0.15238098,  0.14426347]),
 array([ 0.16558695,  0.16364266]),
 array([ 0.15602569,  0.09742977]),
 array([ 0.13288089,  0.1649585 ]),
 array([ 0.14746079,  0.14574742]),
 array([ 0.1459438 ,  0.12091744]),
 array([ 0.13800316,  0.13938712]),
 array([ 0.16978721,  0.09429237]),
 array([ 0.12844791,  0.14767156]),
 array([ 0.16072323,  0.16934159]),
 array([ 0.1344405 ,  0.16582621]),
 array([ 0.16849071,  0.08305579]),
 array([ 0.16853801,  0.09747888]),
 array([ 0.17089883,  0.08322779]),
 array([ 0.14086253,  0.16954688]),
 array([ 0.1308879,  0.1481324]),
 array([ 0.16285714,  0.09809524]),
 array([ 0.16496344,  0.09538876]),
 array([ 0.16120169,  0.10716113]),
 array([ 0.13259871,  0.14488775]),
 array([ 0.148     ,  0.12844444]),
 array([ 0.14272127,  0.12432492]),
 array([ 0.13724798,  0.1160667 ]),
 array([ 0.14667918,  0.17017598]),
 array([ 0.16533932,  0.13615958]),
 array([ 0.14482446,  0.1268346 ]),
 array([ 0.13691976,  0.13428077]),
 array([ 0.16623222,  0.12115209]),
 array([ 0.17076073,  0.16582782]),
 array([ 0.16652387,  0.11979988]),
 array([ 0.148     ,  0.12844444]),
 array([ 0.13874206,  0.16095443]),
 array([ 0.13634987,  0.12638924]),
 array([ 0.1425892 ,  0.12174463]),
 array([ 0.13429782,  0.13966635]),
 array([ 0.14063488,  0.16113418]),
 array([ 0.15107918,  0.10757199]),
 array([ 0.19105618,  0.03571395]),
 array([ 0.16177914,  0.12464314]),
 array([ 0.16101417,  0.15088206]),
 array([ 0.10891334,  0.18554124]),
 array([ 0.12775336,  0.14748249]),
 array([ 0.15368741,  0.09806623]),
 array([ 0.15279768,  0.12114433]),
 array([ 0.15909485,  0.14782945]),
 array([ 0.15658395,  0.12751082]),
 array([ 0.13875965,  0.16257834]),
 array([ 0.13548461,  0.13798088]),
 array([ 0.14739789,  0.10712378]),
 array([ 0.1620173 ,  0.18792243]),
 array([ 0.15816843,  0.12930303]),
 array([ 0.16081769,  0.14030259]),
 array([ 0.13686505,  0.13149615]),
 array([ 0.12853377,  0.15117819]),
 array([ 0.12373057,  0.15952111]),
 array([ 0.15306692,  0.17984131]),
 array([ 0.12772474,  0.14672602]),
 array([ 0.16565768,  0.11983613]),
 array([ 0.13898804,  0.14516103]),
 array([ 0.14681966,  0.11872349]),
 array([ 0.14689187,  0.15905297]),
 array([ 0.18063911,  0.08917426]),
 array([ 0.17363684,  0.16980986]),
 array([ 0.12984922,  0.13909372]),
 array([ 0.12575354,  0.18692459]),
 array([ 0.12867725,  0.18602117]),
 array([ 0.15166264,  0.10553392]),
 array([ 0.15911621,  0.13822948]),
 array([ 0.13634204,  0.1528949 ]),
 array([ 0.14263267,  0.13046642]),
 array([ 0.15804168,  0.09487252]),
 array([ 0.13866625,  0.16577715]),
 array([ 0.15543193,  0.11574774]),
 array([ 0.16415924,  0.08494113]),
 array([ 0.12470533,  0.13180874]),
 array([ 0.14780094,  0.12333844]),
 array([ 0.15061907,  0.10778524]),
 array([ 0.14881764,  0.13617933]),
 array([ 0.16251982,  0.13821826]),
 array([ 0.14350974,  0.12169741]),
 array([ 0.16874521,  0.09957838]),
 array([ 0.11139277,  0.16660067]),
 array([ 0.13623766,  0.17488976]),
 array([ 0.13049139,  0.13654266]),
 array([ 0.13154636,  0.16485715]),
 array([ 0.13628139,  0.13309488]),
 array([ 0.14896989,  0.13450641]),
 array([ 0.16539889,  0.13873528]),
 array([ 0.15630436,  0.11755456]),
 array([ 0.15823362,  0.10168009]),
 array([ 0.16223883,  0.0889476 ]),
 array([ 0.16027318,  0.14126184]),
 array([ 0.13971804,  0.13155922]),
 array([ 0.14477276,  0.16457001]),
 array([ 0.16489803,  0.08240033]),
 array([ 0.15345075,  0.11609196]),
 array([ 0.16626031,  0.08215972]),
 array([ 0.13868775,  0.13594932]),
 array([ 0.14644569,  0.16811023]),
 array([ 0.14577463,  0.13324034]),
 array([ 0.1583821 ,  0.08253133]),
 array([ 0.148     ,  0.12844444]),
 array([ 0.11827197,  0.16409343]),
 array([ 0.13401077,  0.15261733]),
 array([ 0.15162302,  0.16983014]),
 array([ 0.15315181,  0.13908169]),
 array([ 0.14997635,  0.17340421])]

In [ ]: