overallTRP: Calcultes the overall prospect values using the TRP approach...

Description Usage Arguments Details Value References See Also Examples

Description

The overall prospect values for each alternative (round) are calculated using two components in a method described in [2]: (1) the value matrix, which is calculated using trp.valueMatrix with the trp-value function as given by [1]. And the (2) decision weights, which can be calculated in this package using three functions. See Details of weight attribute. Its equivalent function for prospect theory and the dual reference point approach are overallPV and overallDRP.

Usage

1
2
3
4
overallTRP(dataset, userid = NULL, attr = NULL, rounds = NULL,
  refps = NULL, cost_ids = NULL, weight = NULL,
  weightFUN = "differenceToIdeal", tri.refps = NULL, beta_f = 5,
  beta_l = 1, beta_g = 1, beta_s = 3, gamma)

Arguments

dataset

data.frame with the user generated data from a product configurator. See decisionMatrix for specifications of the dataset.

userid

a vector of integers that gives the information of which users the matrix should be calculated. Vectorised.

attr

attributes IDs, vector of integer numbers corresponding to the attributes you desire to use; attr are assumed to be 1-indexed.

rounds

integer vector or text option. Which steps of the configuration process should be shown? Defaults are first and last step. Text options are all, first, last.

refps

a list of numeric vectors, one for each user. Reference Points: each point corresponds to one attribute, therefore the amount of attributes and of refps entered, should be equal. Default assumes the refps as the default values of the initial product configuration for each user. You may fully or partially enter your own reference points, check below for more info.

cost_ids

argument used to convert selected cost attributes into benefit attributes. Integer vector.

weight

numeric vector. Represents the importance or relevance that an attribute has and the weight it should have in the calculation of the prospect value. Alternatively, you can enter a list of numeric vectors, each element of the list corresponding to one user in userid.

weightFUN

indicated which weight function should be used to calculate the weight vector, the options are "differenceToIdeal", "entropy", "highAndStandard", "standard". Default ist differencetoIdeal.

tri.refps

numeric matrix or vector - three numbers per attribute, indicating the minimum requirements, status-quo and the goals for a user (MR, SQ, G).

gamma

numeric and between 0 and 1. It is a parameter used for the function weight.highAndStandard and highAndStandard, please the former to know its use.

beta(s)

numeric arguments representing the psychological impact of an outcome equaling failer (_f), loss (_l), gain (_g) or success (_s). Default values are taken from our reference paper (5,1,1,3).

Details

In the context of data stemming from product configurators, the highest overall value returned by this function, means that specific product configuration represented the highest value for the user. This depends mainly on three important factors: (1) What theoretical framework you choose to use (PT, DRP, TRP), (2) which decision weights you assign to each attribute, and (3) the reference point(s) you input.

This function is vectorized in the userid parameter.

dataset We assume the input data.frame has following columns usid = User IDs, round = integers indicating which round the user is in (0-index works best for 'round'), atid = integer column for referring the attribute ID (1 indexed), selected = numeric value of the attribute for a specific, given round, selectable = amount of options the user can chose at a given round, with the current configuration. This is a necessary parameter.

userid is a necessary parameter.

rounds Default calculates with first and last rounds (initial and final product configuration). You can give a vector of arbitrarily chosen rounds as well.

cost_ids Default assumes all your attributes are of benefit type, that is a higher value in the attribute means the user is better off than with a lower value. If one or more of the attributes in your data is of cost type, e.g. price, so that lower is better then you should identify this attributes as such, providing their id, they'll be converted to benefit type (higher amount is better).

weight default orders each attribute a weight <= 1 according to the the weight function differenceToIdeal. Ideally the sum of all weights equals 1. The three weighting functions are: weight.differenceToIdeal, weight.entropy, weight.highAndStandard

delta [1] Initially called alpha, we chose delta to avoid confusion with prospect theory's parameter for concavity, such as seen in overallPV

Note: When converting a cost attribute to a benefit attribute its three reference points change as well, enter the unconverted tri.refps, the function transforms them automatically when it detects a cost_ids != NULL. Also, since for cost attributes, lower is better, unconverted they should follow (G < SQ < MR).

Value

overall prospect values for each alternative/row

References

[1] [1]Wang, X. T.; Johnson, Joseph G. (2012) A tri-reference point theory of decision making under risk. Journal of Experimental Psychology

[2] Fan, Z. P., Zhang, X., Chen, F. D., & Liu, Y. (2013). Multiple attribute decision making considering aspiration-levels: A method based on prospect theory. Computers & Industrial Engineering, 65(2), 341-350.

See Also

decisionMatrix, overallTRP, overallDRP, weight.differenceToIdeal, weight.entropy, weight.highAndStandard

Examples

1
2
3
4
5
6
#Not runnable yet
overallTRP(pc_config_data, 9, attr=3,  tri.refps = c(1, 3.5))
overallTRP(pc_config_data, 9, attr=1 tri.refps = c(1, 3.5), lambda=2, delta=0.5)
overallTRP(myData, userid = 58, rounds = "all", attr=3:4, tri.refps=matrix(1:6, 2, 3, byrow=T))
overallTRP(myData, userid = 11, attr =  1, cost_ids = 1, tri.refps = c(8, 2))
overallTRP(full_data, 30:35 ,attr = c(1,2,3), rounds="all", tri.refps=matrix(1:9, 3, 3, byrow=T))

avilesd/productConfig documentation built on May 11, 2019, 4:08 p.m.