probabilistic ranking of multi-attribute items using indifference curve

PROBABILISTIC RANKING OF MULTI-ATTRIBUTE ITEMS USING
1
INDIFFERENCE CURVE
Xiaohui Gong ∗ , H. Vicky Zhao ∗ and Y. Lindsay Sun #
∗
ECE Department, University of Alberta, Edmonton, AB Canada T6G 2V4,
#
ECBE Department, University of Rhode Island, Kingston, RI USA 02881
I. S LOPE R ANGE E STIMATION
For a point s in the 2D price-reputation plane, let ks denote the true slope of the indifference curve
at s. From the properties of indifference curves, the slopes are non-positive with ks ≤ 0. Given a set of
the user’s historical purchasing records, we study in the following how to narrow down the slope range.
1.1 Estimation from One Transaction
We first consider one single record where among a set of skyline items S with r1 < · · · < rN and
p1 > · · · > pN , the user purchases si as his/her best choice. Note that item si has normalized reputation
ri and price pi .
Given the best choice sb = si , we first divide the set S − {si } into two subsets: the first includes all
points above the best choice sb with S+ = {si+1 , · · · , sN }; and the second includes all points below sb
with S− = {s1 , · · · , si−1 }. We study these points separately and have Theorem 1.
Theorem 1. For an item sj 6= sb , let kjb be the slope of the line connecting sj and the best choice sb .
For all sj ∈ S+ , we have ksj ≤ kjb ; and for all sj ∈ S− , we have kjb ≤ ksj ≤ 0.
Proof In Fig. 1a where sj ∈ S+ , assume the slope of the indifference curve at point sj is ksj > kjb . We
will prove this theorem by contradiction. Since sb is the best choice, we have U (sb ) > U (sj ). Define
f (x) as the function of the indifference curve crossing sj , and kjb0 as the slope of line sj sb0 , where
sb0 = (xb , f (xb )). Since f is a convex function due to diminishing MRS, for any x1 and x2 in X -axis
and any t ∈ [0, 1], we have f (tx1 + (1 − t)x2 ) ≤ tf (x1 ) + (1 − t)f (x2 ). Based on this equation, for any
point s0 = (x0 , f (x0 )) on the indifference curve f (x) with xj < x0 < xb , we have
x0 − xj
xb − x0
xj +
xb
xb − xj
xb − xj
,
xb − x0
xb − x0
=
xj + (1 −
)xb
xb − xj
xb − xj
x0 =
(1)
r
r
sj=(xj,yj)
ksj
kjb’
s0=(x0,f(x0))
sb’=(xb,f(xb))
kjb
f(x)
sb’=(xb,f(xb))
kjb’
s0=(x0,f(x0))
f(x)
sb=(xb,yb)
kjb
sb=(xb,yb)
p
0
p
0
(a)
sj=(xj,yj)
k sj
(b)
Fig. 1: (a) Slope range of sj ∈ S+ , and (b) slope range of sj ∈ S− .
and f (x0 ) ≤
and kjb0 =
xb −x0
xb −xj f (xj )
f (xb )−f (xj )
,
xb −xj
+
f (x0 )−f (xj )
x0 −xj
xb −xj f (xb ),
x0 −xj
≤
f (xb )−f (xj )
.
xb −xj
Since ksj =
lim
(x0 −xj )→0+
f (x0 )−f (xj )
x0 −xj
we have ksj ≤ kjb0 . Therefore, kjb0 ≥ ksj > kjb , and for point sb0 and sb we
have f (xb ) = yj + kjb0 (xb − xj ) > yi + kjb (xb − xj ) = yb . Since sb and s0b have the same price, we have
U (sb0 ) > U (sb ) according to the monotonicity assumption of user behavior. Since sj and sb0 are on the
same indifference curve, we have U (sj ) = U (sb0 ), so U (sj ) > U (sb ). This result contradicts to the fact
that sb is the best choice. Therefore, ksj ≤ kjb .
Using the same method, for sj ∈ S− in Fig. 1b, we could derive that kjb ≤ ksj ≤ 0. No slope
information for ksb could be extracted from the purchasing record. Therefore, in each transaction, every
point except sb could acquire either the estimated slope range ksj ≤ kjb or kjb ≤ ksj ≤ 0.
Given the above initial slope range estimation, we can further refine the estimation using the diminishing
MRS property. Consider the example in Fig. 2a, there are two items si+1 and si+2 above the best choice
sb = si and k(i+2)b > k(i+1)b . From Theorem 1, initially, we have ksi+2 ≤ k(i+2)b and ksi+1 ≤ k(i+1)b .
Note that from the diminishing property of MRS, we have ksi+2 ≤ ksi+1 . Therefore, we can update the
range of ksi+2 to ksi+2 ≤ ksi+1 ≤ k(i+1)b . On the other hand, in the case of Fig.2b where k(i+2)b < k(i+1)b ,
no improvement is needed. Concretely, the improvement for items in S+ starts from sj = si+2 if i+2 ≤ n.
Compare kjb with k(j−1)b , update the slope range as above and increase j by 1 at each step until j = n.
As an example in Fig. 2c, we first update the range of ksi+2 to ksi+2 ≤ k(i+1)b since k(i+2)b > k(i+1)b .
Secondly, since k(i+3)b < k(i+1)b , no improvement is needed for ksi+3 . Last, the range of ksi+4 should
be updated to ksi+4 ≤ k(i+3)b since k(i+4)b > k(i+3)b . Therefore, the results after the refinement would
be ksi+1 ≤ k(i+1)b , ksi+2 ≤ k(i+1)b , ksi+3 ≤ k(i+3)b , ksi+4 ≤ k(i+3)b . Similarly, we can update the ranges
for all items in S− accordingly from si−2 to s1 .
2
0.6
B
0.5
0.4
si+2
F
G
U3
C
0.3
D
0.2
E
0.1
0
U1
p
r
r
k(i+2)b
si+4
k(i+1)b
k(i+1)b
si+1
si+1
k(i+1)b
si+3
si+2
si+1
(a)
p
0
s4
si+1
p
s1
si
s10
0
(b)
s7
s9
s6
s8
sb
sb
sA p
p
0
r
si+2
pp
si+4
kAB
si+1
sb
p
0
sbsb
r
k(i+1)b
kAC
sB
sb
rr
00
k(i+1)b
si+1
U2
0.1 0.2 0.3 0.4 0.5 0.6
k(i+1)b
k(i+2)b k(i+1)b
k(i+2)b
si+2
si+2
ski+2BC
s3
s5
p
0
(c)
s2
(d)
si+3
Fig. 2: Refinement of estimated slope range with (a) one transaction record requiring update, (b) one transaction
si+2
record not requiring update,si+1(c) one transaction record update example, and (d) multiple transactions update.
sb
0
p
1.2 Refinement with Multiple Transactions
From Theorem 1, with one purchasing record, we can update the upper bounds of the slope ranges
for all items above the best choice and the lower bounds of the slope ranges for all items below the best
choice. Now, we consider slope range refinement with multiple transactions.
Denote k̄si as the upper bound of slope range of si if si ∈ S+ , and k si as the lower bound of slope
range of si if si ∈ S− . Since it is possible that the same item sj belonged to S+ and S− in different
transactions in relation with different sb s, sj could have both k̄sj and k sj , the slope range of sj is therefore
[k sj , k̄sj ]. Default values k sj = −∞ or k̄sj = 0 are used when sj only appeared in one of S+ and S− .
The above estimation enable us to convert the historical purchasing records into personalized records in
the price-reputation plane. Define the set of personalized records as H = {hi = {si , [k si , k̄si ]}}. Note
that if si appeared in multiple S+ s and multiple S− s, the final slope range should be the intersection of
all ranges, since it narrows down the slope range to the greatest extent and depict the personal preference
the most accurately given the limited number of items in the markets.
For a given item si in the 2-D plane containing all the acquired slope ranges from previous transactions,
we divide the remaining items into four subsets: SiI = {sj : pj > pi , rj > ri }, SiII = {sj : pj ≤
pi , rj > ri }, SiIII = {sj : pj ≤ pi , rj ≤ ri } and SiIV = {sj : pj > pi , rj ≤ ri }, where each sj
has its own estimated slope range [k sj , k̄sj ]. In the example in Fig. 2d, SiI = {s1 , s4 }, SiII = {s7 , s9 },
SiIII = {s6 , s8 , s10 } and SiIV = {s2 , s3 , s5 }.
To further refine the estimation results from multiple records, we again use the diminishing property
of MRS, and use items in SiII to update the lower bound of si ’s slope range k si , and use items in SiIV
to update the upper bound of si ’s slope range k̄si . The diminishing property of MRS says ksi ≤ ksj
3
for all sj ∈ SiIV and ksi ≥ ksj for all sj ∈ SiII . Therefore, we update k̄si = minsj ∈SiIV ∪si {k̄sj } and
k si = maxsj ∈SiII ∪si {k sj }.
The last step is to check the consistency of the estimated slope range at each point. For point si ,
its estimated slope range [k si , k̄si ] should satisfy k si ≤ k̄si . If k si > k̄si , it means that the user shows
inconsistent behavior in the historical records, and the corresponding personalized record hi should be
discarded from H to ensure accurate information collection.
II. R ANKING
2.1 Slope Range Estimation in the New Market
Following the above steps, we can estimate the slope ranges of the indifference curves at a few
points where there were corresponding items in the historical records. However, given a new query in a
dynamically changing market, it is possible that there are new items that we have no prior information
about their slope ranges.
For a new item si0 , we need to estimate the upper and lower bounds of its slope range. To estimate
the upper bound, we first search all items in the historical data and find a set of its M closest neighbors
Su whose upper bounds are non-zero with k̄sj < 0 for all sj ∈ Su . We then estimate the upper bound
of ksi0 using weighted sum k̄si0 =
P
sj ∈Su
wj k̄sj , where the weight wj = (di0 j )−1 /
P
sj ∈Su [(di0 j )
−1 ]
is
inversely proportional to the distance di0 j between si0 and sj . Similarly, to estimate the lower bound of
ksi0 , we find a set of its M closest neighbors Sl among all items in the historical data whose lower bounds
are finite, and estimate k si0 using k si0 =
P
sj ∈Sl
wj k sj . We use M = 3 in this work and observe similar
results for other values of M . Note that the refinement of estimated slope ranges in one transaction are
used again to ensure that items in the current market satisfy the diminishing MRS.
2.2 Two-Step Ranking
We consider the scenario where a user first preselects n candidates that he/she might be interested in,
and then makes detailed comparison within the n items. To find the probability that an item si is the
best choice, we first need to find all possible preselected candidate sets SISj that includes si , and then
for each such set SISj , find the probability that si has the largest utility compared to all other items in
SISj .
Mathematically, let P[SISj ] be the probability that SISj is the preselected candidate set, and let P[si =
best|SISj ] denote the probability that si is the preferred item among all in SISj . Then, the probability
4
r
si+2
si+1
si
si-1
si-2
0
ΘIR
i
p
Fig. 3: Interested Region and Interested Set
Indifference curve
crossing si
that si is the user’s best choice is
Psi =
Arc d(sisj)
sib
X
SISj :si ∈SISj
s*
sj
s90 90°
P[si k=
best|SISj ]P[SISj ].
ij
(2)
ib
To model the candidate pre-selection process, kwe
adopt the visual angle model in [1]. In particular,
for skyline item si , define its visual180°
angle as ψi = arctan(ri /p
). The visual angle model is capable
si i
of roughly describing users preferences, e.g., a user who cares about reputation more than price will
more likely to prefer items with large visual angles, and vice versa. Therefore, to find SISj , we first
let the interested visual angle range be ΘIRj = [ψj , ψj+1 ) as shown in Fig. 3. A user’s preferences are
described by the probability that the user is interested in ΘIRj over the 2-D plane in the range of [0, π/2].
We divide the interested visual angle range by items so that the whole plane can be covered without
overlapping, which ensures that Psi ∈ [0, 1] in Eq. 2. For the interested range below item s1 , denote
ΘIR0 = [0, ψ1 ). For the interested range above item sn , denote ΘIRn = [ψn , π/2]. Given ΘIRj , we
assume that a user preselects n = 4 candidate items for the corresponding SISj before making detailed
comparison. We select candidate items with the smallest angle distance to ΘIRj , so that they are the
closest to the user’s preference. For example, for ΘIRi in Fig. 3, we have SISi = {si−1 , si , si+1 , si+2 },
including two boundary items and their neighbors. Exceptions happens at the ends that SIS0 = {s1 , s2 },
SIS1 = {s1 , s2 , s3 }, SISn−1 = {sn−2 , sn−1 , sn }, SISn = {sn−1 , sn }. Therefore, item si in Fig. 3 is
included in four candidate sets SISi−2 , SISi−1 , SISi and SISi+1 , and the corresponding interested regions
are ΘIRi−2 = [ψi−2 , ψi−1 ), ΘIRi−1 = [ψi−1 , ψi ), ΘIRi = [ψi , ψi+1 ), and ΘIRi+1 = [ψi+1 , ψi+2 ).
To calculate P[SISj ], a preference density function f (ψ) is used to model the probability that a user
is interested in items at angle ψ in the price-reputation plane, and we use the same method as in [1] to
5
A’
sB
kAA’
kAB
sA’
sB
©AA’
©AB
r
ICsA
sA p
r
kAA’
kAB
kAA”
ICsA
sA”
sB
sA p
(a)
sC
p
kAB
©AA’
©AB
r
sA
©AB
©AA”
(b)
kB
Fig. 4: Two-item comparison: (a) sA is below sB , and (b) sA is above sB .
sB
sA
0
p
estimate f (ψ). Therefore, the probability that SISj is the preselected candidate set is
P[SISj ] =
Z ψj+1
f (ψ)dψ.
(3)
ψj
The next step is to compute P[si = best|SISj ], the probability that si is the preferred item in SISj .
We first consider a simple scenario of comparing two items sA and sB where sA is below sB , as shown
in Figure 4a. To determine the probability that sA is preferred to sB , we first consider the indifference
curve ICsA that passes through sA . Since all points on ICsA have the same utility as sA , we can compare
sB with any point on ICsA . In this work, we choose the point sA0 whose distance to sA is the same as
that between sA and sB . Let kAB denote the slope of the line connecting sA and sB , and kAA0 be the
slope of the line connecting sA0 and sA . We define function θ(k) = π + arctan (k) to convert slope k to
angle θ, and we have θAB = θ(kAB ) and θAA0 = θ(kAA0 ), as shown in Fig. 4a. Since sA0 and sB have
the same distance to sA , comparing their positions is equivalent to comparing the two angles θAB and
θAA0 . From Fig. 4a, it is easy to see that when θAB > θAA0 , sA0 is above sB and U (sA ) > U (sB ), and
vice versa.
To compare θAB and θAA0 , note that the indifference curve ICsA is convex, and we have −∞ <
kAA0 ≤ kA ≤ k̄A where kA is the true slope of ICsA at point sA , and k̄A is the estimated upper bound
of kA . Define θ̄A = θ(k̄A ) and θA = θ(kA ). Without any prior knowledge of θAA0 or the position of sA0 ,
we assume that θAA0 is uniformly distributed in the range [π/2, θ̄A ]. Note that if θAB > θ̄A , we have
θAB > θAA0 , and thus sA is always preferred to sB . Therefore, the probability that sA is preferred to sB
6
A
sC
r
sC
kBC
sB
sB
r
sA’
θAC
kAC
sA
kAB
sA”
θAA’
θAB
θAA”
sA”
p
sC
sA p
(a)
(b)
Fig. 5: Three-item comparison: (a) sA is below sB and sC , and (b) sA is below sB but above sC .
is
P[U (sA ) ≥ U (sB )] =



 θAB −π/2
if π/2 ≤ θAB ≤ θ̄A ,


1
if θ̄A < θAB .
θ̄A −π/2
(4)
By the same token, when sA is above sB as shown in Fig. 4b, we have k A ≤ kA ≤ kAA00 ≤ 0, where
sA00 is the point whose distance to sA is the same as that between sA and sB . Define θAA00 = θ(kAA00 )
and θA = θ(k A ). When θAB < θAA00 , sA0 is above sB and U (sA ) > U (sB ), and vice versa. Under the
assumption that θAA00 is uniformly distributed in the range [θA , π], we can also calculate the probability
P [U (sA ) ≥ U (sB )], which is
P[U (sA ) ≥ U (sB )] =



 π−θAB
if θA ≤ θAB ≤ π,


1
if θAB < θA .
π−θA
(5)
Now we consider the scenario where we compare three or more items at the same time. We first consider
the three-item comparison and calculate P[si = best|SISj ] = P[U (sA ) ≥ U (sB ), U (sA ) ≥ U (sC )]. We
divide the comparison into three cases. In the first case, sA is below sB and sC as shown in Fig. 5a.
In this case, we choose the most competitive item from sB and sC , and use it to compare with sA
based on (4), so that the three-item comparison can be reduced to two-item comparison. By competitive,
we first find out the item with the smallest slope of the line connecting itself and sA . In the example
of Fig. 5a, denote θAB = θ(kAB ) and θAC = θ(kAC ), where kAB and kAC are the slope of the lines
connecting sA and sB , and sA and sC , respectively. According to (4), since θAB > θAC , we have
P[U (sA ) ≥ U (sB )] ≥ P[U (sA ) ≥ U (sC )], which means in the respective of sA , it has less chance
7
θA
sA
p
sC
sB
r
r
sB
θA
sA
θA
θA
sA
p
sC
θA
p
sC
(a)
r
(b)
sB
Fig. 6: Three-item comparison: sA is θbelow
sB but above sC : (a) θAB ≤ θAC , and (b) θAB > θAC .
A
sA
θA
p
to beat sC than to beat sB , thus sC is considered more competitive than sB . One exception is that if
sC
k̄B < kBC , according to (4), we have P [U (sB ) ≥ U (sC )] = 1, then sB is always preferred to sC and
is the most competitive item. Otherwise, we assume sC as the most competitive one. Using the same
method, in the second case of three-item comparison, when sA is above both sB and sC , we could also
find the most competitive item from sB and sC , and reduce the three-item comparison to a two-item
comparison in (5). In the third case where sA is below sB but above sC as shown in Fig. 5b, contrary
to the first and second case, P[U (sA ) ≥ U (sB )] and P[U (sA ) ≥ U (sC )] are incomparable since they
use different formulas (4) and (5), and we can not reduce the three-item comparison to the two-item
comparison to calculate P[U (sA ) ≥ U (sB ), U (sA ) ≥ U (sC )]. The comparison is as follows. Same as
Fig. 4a, we consider the indifference curve ICsA that passes through sA and find the point sA0 on ICsA
that has the same distance to sA as sB . The definitions of θAA0 , θAB and θ̄A are the same as above.
Similarly, we find another point sA00 on ICsA that has the same distance to sA as sC . Let kAC be the
slope of the line connecting sA and sC , and define θAC = θ(kAC ). The definitions of θAA00 and θA
are the same as above. Note that the indifference curve ICsA is convex. Thus, we have kAA0 < kAA00
and θAA0 < θAA00 . So the probability that sA has the largest utility among the three is equivalent to the
probability that θAA0 ≤ θAB and θAA00 ≥ θAC under the constraint that θAA0 < θAA00 . Without any prior
knowledge of the positions of sA0 and sA00 , we assume that θAA0 and θAA00 are independent. Following
the same analysis as (4) and (5), the calculation can be divided into following cases.
•
If P[U (sA ) ≥ U (sB )] = 1 or P[U (sA ) ≥ U (sC )] = 1, we have
P[U (sA ) ≥ U (sB ), U (sA ) ≥ U (sC )] = P[U (sA ) ≥ U (sB )] · P[U (sA ) ≥ U (sC )].
8
(6)
Since sA is always preferred to at least one of sB and sC , the P[U (sA ) ≥ U (sB ), U (sA ) ≥ U (sC )]
is reduced to P[U (sA ) ≥ U (sB )], P[U (sA ) ≥ U (sC )], or 1.
•
For other cases as shown in Fig. 6a and b, we first integrate all the possible combinations of θAA0
and θAA00 under the constraint that θAA0 < θAA00 , and the integrated area is
I=
Z θ
A
π/2
(π − θA )dα +
Z θ̄A
θA
1
1
π2
(π − α)dα = − (θ̄A − π)2 − (π/2 − θA )2 + .
2
2
8
(7)
– If θAB ≤ θAC (Fig. 6a), the condition that U (sA ) ≥ U (sB ) and U (sA ) ≥ U (sC ) is π/2 ≤
θAA0 ≤ θAB and θAC ≤ θAA00 ≤ π , thus we have
I[U (sA ) ≥ U (sB )] = (θAB − π/2)(π − θAC ).
(8)
Combining (7) and (8), we have
I[U (sA ) ≥ U (sB )]
I
−2 ∗ (θAB − π/2)(π − θAC )
=
.
(θ̄A − π)2 + (π/2 − θA )2 − π 2 /4
P[U (sA ) ≥ U (sB ), U (sA ) ≥ U (sC )] =
(9)
– If θAB > θAC (Fig. 6b), the condition that U (sA ) ≥ U (sB ) and U (sA ) ≥ U (sC ) is π/2 ≤
θAA0 ≤ θAB and θAC ≤ θAA00 ≤ π under the constraint that θAA0 < θAA00 , thus we have
I[U (sA ) ≥ U (sB )] = (θAC − π/2)(π − θAC ) +
Z θAB
(π − α)dα
θAC
1
1
π2 π
= − + θAC + πθAB − θAB 2 − θAC 2 .
2
2
2
2
(10)
Combining (7) and (10), we have
I[U (sA ) ≥ U (sB )]
I
2
π − θAC π − 2θAB π + θAB 2 + θAC 2
=
.
(θ̄A − π)2 + (π/2 − θA )2 − π 2 /4
P[U (sA ) ≥ U (sB ), U (sA ) ≥ U (sC )] =
(11)
Therefore, for three-item comparison where sA is not always better than sB and sC , we have
=
P[U (sA ) ≥ U (sB ), U (sA ) ≥ U (sC )]



AC )
 −2∗(θ2AB −π/2)(π−θ
if kAB ≤ kAC ,
(θ̄ −π) +(π/2−θ )2 −π 2 /4
A
A

2
2
2

AB π+θAB +θAC
 π −θAC π−2θ
2
2
2
(θ̄A −π) +(π/2−θA ) −π /4
(12)
if kAB > kAC .
Using the same method, given sA , sB and sC , we can also calculate the probabilities that sB and sC
are preferred among the three, respectively. The comparison among four or more items is similar.
In summary, for each skyline item in a new market, we use (2) - (12) to compute the probability that
it is the user’s best choice. We then rank all items in the descending order of Psi .
9
R EFERENCES
[1] Q. Feng, L. Liu, Y. Sun, T. Yu, and Y. Dai, “Enhancing personalized ranking quality through multidimensional modeling of
inter-item competition,” IEEE Int. Conf. Collaborative Computing: Networking, Applications and Worksharing, pp. 1–10,
2010.
10