Hedonic analysis (M9b) {#hedonic}

Method description

The hedonic evaluation test involves asking consumers to :

  1. to rate their preference from 1 (I dislike extremely) to 9 (I like very much) for three to four sensory attributes specific to the test product. The overall preference is ascertained at the beginning of the questionnaire in order not to influence the consumer and be closer to typical conditions of consumption.
  2. give additional information such as sex, age and organic consumption frequency in order to characterise the population sample.
  3. give additional sensory descriptors to describe products are asked after evaluation of each product.

Determine differences of appreciation for each samples

Regarding samples, the objectives of the hedonic tests are to

  1. determine differences of appreciation for a given attribute between the set of samples bsed on the note given by the juges and
  2. determine appreciation of samples based on descriptors given by the juges

Differences of sample regarding the note given by the juges.

The data distribution determines the type of tests that should be used to analyze the data set.

$Y_{ij} = \alpha_i + \beta_j + \varepsilon_{ij}; \quad \varepsilon_{ijkl} \sim \mathcal{N} (0,\sigma^2)$

with $Y_{ij}$ the note from 1 to 9 given by a person to a sample, $\alpha_i$ the person (i.e. assessor) that taste the sample, $\beta_j$ the germplasm tasted, $\varepsilon_{ijkl}$ the residuals.

Then, multiple comparison of mean on germplasm are performed. The aim is to obtain a final ranking based on consumers’ preferences.

Appreciation of sample regarding the descriptors given by the juges.

To do so, Correspondance Analysis (CA) is done on the data with descriptors.

Juges profiles

Another objective of the analysis is to determine juges profiles based on the note given and the additional information such as sex, age and organic consumption frequency, etc.

It is done with a Hierarchical Clustering on Principle Components (HCPC) that can be implement to identify groups of juges preferences after a Principal Component Analysis (PCA).

Steps with PPBstats

For hedonic analysis, you can follow these steps (Figure \@ref(fig:main-workflow-organo)):

Format the data

data(data_hedonic)
head(data_hedonic)

The data frame has the following columns: sample, germplasm, location, juges, note, descriptors. The descriptors must be separated by ";". Any other column can be added as supplementary variables.

Then, you must format your data with format_data_PPBstats() and type = "data_organo_hedonic". Argument threshold can be set in order to keep only descriptors that have been cited several time. For exemple with threshold = 2, only descriptors cited at least twice are kept.

data_hedonic = format_data_PPBstats(data_hedonic, type = "data_organo_hedonic", threshold = 2)
names(data_hedonic)

data_hedonic is a list of four elements :

head(data_hedonic$data$data_sample)
- sample_mean which gathers for each sample a mean for note and descriptors
head(data_hedonic$data$data_sample_mean)
- juges which gathers for each juge a mean for note
head(data_hedonic$data$data_juges)
data_hedonic$var_sup
data_hedonic$descriptors

Describe the data

First, you can describe the data regarding the note given

p_note = plot(data_hedonic, plot_type = "boxplot", x_axis = "germplasm",
               in_col = "location", vec_variables = "note"
               )
p_note

As well as the descriptors for each germplasm for example:

descriptors = data_hedonic$descriptors

p_des = plot(data_hedonic, plot_type = "radar", in_col = "germplasm", 
                         vec_variables = descriptors
                         )
p_des

Run the model

To run the model on the dataset, used the function model_hedonic.

out_hedonic = model_hedonic(data_hedonic)

out_hedonic is a list with three elements:

out_hedonic$model
anova(out_hedonic$model)
out_hedonic$CA
out_hedonic$HCPC$res.pca
out_hedonic$HCPC$res.hcpc
head(out_hedonic$HCPC$clust)

Check and visualize model outputs

The tests to check the model are explained in section \@ref(check-model-freq).

Check the model

out_check_hedonic = check_model(out_hedonic)

out_check_hedonic is list with two elements:

Visualize outputs

Once the computation is done, you can visualize the results with plot()

p_out_check_hedonic = plot(out_check_hedonic)

p_out_check_hedonic is a list with:

p_out_check_hedonic$variability_repartition
p_out_check_hedonic$variance_intra_germplasm
p_out_check_hedonic$CA_composante_variance
p_out_check_hedonic$PCA_composante_variance

Get and visualize mean comparisons on note

The method to compute mean comparison are explained in section \@ref(mean-comp-check-freq).

Get mean comparisons on note

Get mean comparisons with mean_comparisons().

out_mean_comparisons_hedonic = mean_comparisons(out_check_hedonic)

out_mean_comparisons_hedonic is a list of one element for futher ggplot : data_ggplot_LSDbarplot_germplasm

Visualize mean comparisons on note

p_out_mean_comparisons_hedonic = plot(out_mean_comparisons_hedonic)

p_out_mean_comparisons_hedonic is a list of on elements with barplots :

For each element of the list, there are as many graph as needed with nb_parameters_per_plot parameters per graph. Letters are displayed on each bar. Parameters that do not share the same letters are different regarding type I error (alpha) and alpha correction. The error I (alpha) and the alpha correction are displayed in the title.

pg = p_out_mean_comparisons_hedonic$germplasm
names(pg)
pg$`1`

Get and visualize biplot regarding samples (CA) and juges (HCPC)

The biplot represents information about the percentages of total variation explained by the two axes. It has to be linked to the total variation caught by the interaction. If the total variation is small, then the biplot is useless. If the total variation is high enought, then the biplot is useful if the two first dimension represented catch enought variation (the more the better).

Get biplot

Get biplot regading samples (CA) and juges (HCPC)

out_biplot_hedonic = biplot_data(out_check_hedonic)

Visualize biplot

p_out_biplot_hedonic = plot(out_biplot_hedonic)

p_out_biplot_hedonic is a list of two elements with

p_out_biplot_hedonic$ca_biplot
p_out_biplot_hedonic$hcpc_biplot


priviere/PPBstats documentation built on May 6, 2021, 1:20 a.m.