Programming the statistical procedures from SAS

How should I modify SAS syntax for conjoint analysis to get correct results?

Reply
N/A
Posts: 1

How should I modify SAS syntax for conjoint analysis to get correct results?

Hello

  From past few days I am dealing with skincare data which i have also given in datelines. First Data consists ‘16’ skincare products over ‘5’ categorical variables; second data shows the preferences of six persons for these 16 skincare products. Order of preferences is monotonic, when small data values mean high preference. I applied non-metric conjoint analysis technique, i got 'SAS-output' which are totally different than what I got from other software. I suspect something is wrong in syntax/sas codes, i have written. Please give me suggestion.

title 'Nonmetric Conjoint Analysis of skin-care ';

proc format;

value FragranceF

1 = 'Masculine'

2 = 'Mild     '

3 = 'None     ';

value PackingF

1 = 'Jar   '

2 = 'Tube  '

3 = 'Bottle';

value AddedfeatureF

1 = 'Fairness '

2 = 'Antiaging'

3 = 'Medicated';

value PriceF

1 = 'Less than 100Rs '

2 = '100 RS to 200 Rs'

3 = 'Morethan 300 Rs ';

Value TextureF

1 = 'Cream '

2 = 'Gel   '

3 = 'Lotion';

run;

data skincare;

input Fragrance Packing Addedfeature Price Texture;

format Fragrance FragranceF9. Packing PackingF6. Addedfeature AddedfeatureF9. Price PriceF15. Texture TextureF5. ;

datalines;

2 2 2 2 1

2 1 3 1 3

1 2 3 1 2

3 3 3 3 1

1 1 1 1 1

1 1 2 3 1

3 1 2 1 3

1 3 1 2 3

1 3 2 1 2

2 3 1 1 1

3 1 1 2 2

2 1 1 3 2

1 1 3 2 1

3 2 1 1 1

1 1 1 1 1

1 2 1 3 3

;

run;

title 'Skincare data entry';

data Results;

input sub01 sub02 sub03 sub04 sub05 sub06 ;

datalines;

05 02 13 05 11 01

04 14 04 08 01 16

12 08 16 01 07 02

03 10 15 07 02 13

09 07 05 06 12 15

13 12 14 10 10 14

08 13 02 09 09 12

11 15 03 16 08 11

10 05 11 04 13 10

01 03 06 11 14 09

02 04 12 03 15 06

14 11 07 02 16 07

06 09 09 13 06 05

16 01 08 12 05 08

07 06 10 14 03 04

15 16 01 15 04 03

;

run;

title " Merge both data";

data Both;

merge work.skincare Results;

run;

proc print;

title 'Data Set for Conjoint Analysis';

run;

title 'skincare Study, Individual Conjoint Analyses';

proc transreg data=Both maxiter=330 utilities short outtest=Utils separators=' ';

ods select TestsNote ConvergenceStatus FitStatistics Utilities;

model monotone(sub01 sub02 sub03 sub04 sub05 sub06/ reflect ) = class(Fragrance Packing Addedfeature Price Texture / zero=sum);

output ireplace predicted;

run;

proc print label;

      var Rank TRank PRank Fragrance Packing Addedfeature Price Texture;

      label PRank = 'Predicted Ranks';

   run;

data Importance;

      set Utils(keep=_depvar_ Importance Label);

      if n(Importance);

      label = substr(label, 1, index(label, ' '));

   run;

proc transpose data=work.importance out=Importance2(drop=_Smiley Happy;

      by _depvar_;

      id Label;

   run;

proc print;

      title2 'Importance Values';

   run;

proc means;

      title2 'Average Importance';

   run;

   data Utilities;

      set Utils(keep=_depvar_ Coefficient Label);

      if n(Coefficient);

   run;

proc transpose data=work.utilities out=Utilities2(drop=_Smiley Happy;

      by _depvar_;

      id Label;

      idlabel Label;

   run;

proc print label;

      title2 'Utilities';

   run;

Learner
Posts: 1

Re: How should I modify SAS syntax for conjoint analysis to get correct results?

Hello Roosh,

I was wondering if you got someone to help or figured this out after all.

You can let me know by posting the solution you came up with.

Thank you.

Best,

Al

Respected Advisor
Posts: 2,655

Re: How should I modify SAS syntax for conjoint analysis to get correct results?

Without knowing what is expected in the output, it is difficult to suggest changes in options, etc. that might help.  I copied the code, and it ran without problems.  The output looks OK to me.

Steve Denham

Ask a Question
Discussion stats
  • 2 replies
  • 247 views
  • 0 likes
  • 3 in conversation