Welfare Range and Probability of Sentience Distributions

Laura Duffy, Executive Research Assistant

Introduction

Our initial welfare range calculations included point estimates of the welfare range (conditional on moral patienthood) for each animal type, and then multiplied by an assumed probability of moral patienthood. However, estimating the welfare range to be 0.45 for pigs, for instance, does not tell us how wide or narrow our confidence interval should be around that central estimate. We needed to take uncertainty into account, both for welfare ranges and probabilities of moral patienthood, because our knowledge about animals’ psychological capacities is uncertain. So:

  1. We used Monte Carlo simulations to estimate, for various sentience models and across eighteen organisms, the distribution of plausible probabilities of sentience.
  1. We used a similar simulation procedure to estimate the distribution of welfare ranges for eleven of these eighteen organisms, taking into account uncertainty in model choice, the presence of proxies relevant to welfare capacity, and the organisms’ probabilities of sentience (equating this probability with the probability of moral patienthood).

Ultimately, we replaced our initial welfare range point estimates with the median welfare ranges (conditional on sentience) generated by the second procedure.

Main Results

Here are the main results about the probability of sentience and welfare ranges for the organisms studied:

Table 1: Overall probability of sentience estimates

Species Mean 5th-percentile 50th-percentile 95th-percentile
Pigs

0.925

0.737

0.973

0.99

Cows

0.91

0.712

0.945

0.99

Chickens

0.876

0.629

0.904

0.99

Octopuses

0.783

0.439

0.775

0.99

Bees

0.466

0.038

0.422

0.905

Fruit Flies

0.451

0.067

0.329

0.919

Carp

0.453

0.081

0.328

0.912

Crayfish

0.453

0.082

0.327

0.91

Salmon

0.451

0.078

0.327

0.909

Crabs

0.426

0.078

0.308

0.85

Ants

0.3

0.032

0.234

0.58

Black Soldier Flies

0.294

0.079

0.218

0.574

Spiders

0.257

0.016

0.208

0.521

Cockroaches

0.265

0.018

0.184

0.57

Earthworms

0.083

0.002

0.041

0.244

Sea Hares

0.128

0.002

0.04

0.384

Silkworms

0.082

0.002

0.039

0.239

C. elegans

0.068

0

0.004

0.268

Table 2: P(sentience)-adjusted welfare range estimates (including neuron counts)

Species Mean 5th-percentile 50th-percentile 95th-percentile
Pigs

0.484

0.005

0.512

1.031

Chickens

0.326

0.002

0.327

0.856

Octopuses

0.349

0.004

0.238

1.527

Carp

0.175

0

0.087

0.59

Bees

0.148

0

0.071

0.449

Salmon

0.136

0

0.055

0.495

Crayfish

0.119

0

0.035

0.503

Shrimp

0.19

0

0.029

1.095

Crabs

0.093

0

0.026

0.444

Black Soldier Flies

0.044

0

0.014

0.215

Silkworms

0.018

0

0.001

0.068

Figure 1: Probability-of-sentience-adjusted welfare ranges

alt_text

Qualifications

There are two qualifications to note.

First, because the inputs to our models are publications in the scholarly literature, they’re biased against under-studied animals, as we discuss in our post about the Welfare Range Table.

The second important qualification is that these welfare range distributions reflect our uncertainties conditional on the methodology we’ve developed; they don’t reflect our uncertainties about the entire methodology behind these distributions. We discuss our overall views about relative welfare ranges at the end of the main post.

Probability of Sentience Distributions


Methods1

Overall, the process of estimating an organism’s probability of sentience involves three steps: choosing the model parameters, simulating the sentience proxies that the animal possesses, and using models that use these simulated proxies to estimate the probability of sentience.

Step 1: Parameter Selection

To generate the distributions of probabilities of sentience across organisms and models, the user must answer three questions:

  1. Are there any species for which proxies with “Unknown” judgments should be given a non-zero probability of being present? (If yes, then the user was prompted to specify the species and probability to update to.)
  2. Should proxies judged to be “Likely no” and “Lean no” be given a non-zero probability of being present?
  3. What weight should proxies that we’re highly confident matter to sentience be given relative to proxies whose importance we’re more uncertain about?

For our simulations, we specified that:

  1. Proxies whose likelihood of presence in an organism was judged “Unknown” receive zero probability of being present across all organisms. As discussed below, estimating the probability of these “Unknowns” being true is a proposed future area of study.
  2. “Likely no” and “Lean no” judgments were assigned non-zero probabilities of being present. This choice tends to lead toward higher welfare ranges, but we believe that we should not entirely discount the possibility that the proxies are present, even if it is unlikely.
  3. High-value proxies were given 5 times the weight in the sentience sums as were all other proxies.

Step 2: Simulations for All Proxies

The evidence used to estimate the probability of each organism’s sentience are found in the “Overall judgments” spreadsheet in the sheet:

The program runs 10,000 simulations where the presence or absence of each proxy in the “Simple_Scoring” spreadsheet was a random variable. For a given organism, the steps taken in a single simulation to generate the proxies possessed by that organism were:

  1. Start with a dictionary containing each proxy and an empty list to add scores to.
  2. For each proxy in the Simple Scoring sheet:
    1. First, randomly select the probability that the organism possesses the proxy from a uniform distribution whose range maps onto the judgment determined by our contractors. The probability map is as follows:
      1. No: [0.00, 0.00] (Used for the “motile” proxy)
      2. Likely no: [0, 0.25)
      3. Lean no: [0.25, 0.5)
      4. Lean yes: [0.5, 0.75)
      5. Likely yes: [0.75, 1.0]
      6. Yes: [1.00, 1.00] (Used for the “motile” proxy)

        For example, if pigs scored a “Likely yes” on taste aversion behavior, then the probability that pigs exhibit taste aversion behavior is sampled uniformly over the interval [0.75, 1.0]. If a proxy was judged “Unknown”, then we defaulted to giving a zero probability of it being present; however, this default can be changed at the start of running the program.

        1. Second, generate a Bernoulli random variable using this probability of the species possessing the trait, where 1 indicates that the trait is present and 0 indicates that it is absent.
        2. Add the score (0 or 1) to the list corresponding to its particular proxy in the dictionary.

For a given organism, this process was repeated for 10,000 simulations, where each proxy’s score in a given simulation was appended to its respective list. Then, we repeated this procedure for all eighteen organism types studied and saved the simulated proxy data.

Step 3: Generating the Probabilities of Sentience

One important issue with using behavioral proxies as evidence for sentience is that some behaviors) may arise from unconscious processes (including some of those which we are quite confident matter for sentience). For instance, if classical conditioning occurs both in black soldier flies and unconscious human processes, we should not significantly update our probability that black soldier flies are sentient. Conversely, if the evidence that black soldier flies can navigate unknown paths is stronger than the evidence that unconscious human processes can do the same, we should give greater credence to the hypothesis that black soldier flies are conscious.

With this issue in mind, we decided to take the following approach to estimating the probability of sentience amongst each of the organisms for a given simulation, once the Bernoulli variables were generated:

  1. Generate a distribution for the organism’s prior probability of sentience
  2. For a particular model, filter out the proxies that are not included in that model
  3. Calculate the organism’s “sentience sum” (denoted by adding up the simulated Bernoulli variables across all proxies included in the model.
  4. Repeat step (3) to calculate the sentience sum for the “sometimes operates unconsciously in humans” set of Bernoulli variables, denoted .
  5. Estimate the updated probability of sentience using the formula:

Once we had calculated the organism’s probability of sentience for each of the 10,000 simulations, we found the 5th-, 50th-, and 95th-percentile probabilities of sentience and stored them in a table. This procedure was repeated for all eighteen organisms and for each of the five models.

Models of Sentience

We estimated the probability of sentience distributions for eighteen organisms using five sets of proxies:

Selection of Prior Probabilities of Sentience

To generate the prior distributions, we created a mixture model in Squigglepy using the probability of sentience estimates from Marcus A. Davis, Daniela Waldhorn, and Peter Wildeford’s 2019 paper on estimating invertebrate sentience. For Davis’ estimates, we used the low, best guess, and high estimates for the probability of sentience to create a distribution of each species’ probability of sentience.2 For Waldhorn’s estimates, we assigned each judgment (ranging from “very probably no” to “very probably yes”) a probability range3 and used a normal distribution (clipped at 0 and 1) to simulate the prior probabilities of sentience for each species. Finally, Wildeford’s probability estimates were estimated using 90% confidence intervals centered around his posterior probabilities of sentience for each organism, plus or minus 10% of the mean value. Each of Davis, Waldhorn, and Wildeford’s models was given equal weight in the mixture model, which was used to generate 10,000 prior probabilities of sentience for each organism.

There were five organisms (black soldier flies, salmon, carp, silkworms, and pigs) whose sentience proxies had been studied but which were not included in Davis, Waldhorn, and Wildeford’s 2019 sentience estimates. As such, we used the prior probabilities of similar organisms for these five animals. Specifically, we used the fruit flies’ priors distribution for black soldier flies, the crabs' priors distribution for carp and salmon, the cows’ priors distribution for pigs, and the earthworms’ priors distribution for silkworms.

Table 3 below displays the 5th, 50th, and 95th percentile values for each organism’s prior probability of sentience.

Table 3: Prior probabilities of sentience

Species Mean 5th-percentile 50th-percentile 95th-percentile
Pigs

0.85

0.659

0.864

0.983

Cows

0.85

0.657

0.863

0.983

Chickens

0.817

0.576

0.822

0.983

Octopuses

0.749

0.416

0.729

0.985

Bees

0.45

0.037

0.406

0.863

Black Soldier Flies

0.457

0.135

0.325

0.853

Crabs

0.434

0.08

0.311

0.856

Crayfish

0.434

0.078

0.311

0.862

Salmon

0.433

0.075

0.311

0.861

Carp

0.432

0.077

0.31

0.858

Fruit Flies

0.425

0.064

0.309

0.859

Ants

0.334

0.036

0.258

0.632

Spiders

0.316

0.02

0.255

0.625

Cockroaches

0.297

0.02

0.205

0.63

Silkworms

0.11

0.003

0.052

0.317

Earthworms

0.107

0.003

0.051

0.311

Sea Hares

0.16

0.002

0.05

0.47

C. elegans

0.078

0

0.005

0.306

Updated Probability of Sentience Formula

The formula for updating the probability of sentience is inspired by Bayes theorem, in which the prior probability of event A is updated, based on evidence E, using the formula:

In this case, the analogy to Bayes’ theorem is not watertight: for example, we do not know the true probability of seeing a certain number of proxies given the organism is sentient since the only organism we know for certain is sentient is humans. However, the use of sentience sums updates the probability of sentience in a similar manner as Bayes theorem: if the sentience proxies rarely appear in an organism relative to their presence in unconscious human processes, the probability of sentience decreases; it stays the same if the sums are equal; and it rises when the organism’s sentience sum is larger than that of unconscious human processes.

The choice of ¼ as an exponent is somewhat arbitrary; one could choose ½ or ⅙ and be equally justified in doing so. Whenever the exponent is below 1, it has the effect of dampening the extent to which the prior is updated in response to behavioral evidence, and the smaller the exponent, the more “conservative” we are in updating the probability to sentience. Because this is an arbitrary choice point, we invite others to run the models using an alternative positive fraction in the exponent.

Results

Outputs

Summary statistics for all five models across all eighteen organisms under the parameter assumptions described above are available in the spreadsheet: as well as in the sentience_estimates folder of the GitHub repository.

Because the prior distributions mixture model was trimodal, none of the results from the five models resembled an easy-to-model distribution (i.e. normal, lognormal, uniform, etc.). As such, we could not combine the five models into an aggregate mixture model without making inaccurate assumptions. Fortunately, the results of each sentience model overlapped sufficiently so that choosing one model to use in the welfare range calculations would not be misleading.

#1 High-Value Proxies Model

We chose the “#1 High-Value Proxies Model” to represent the probabilities of sentience for the organisms studied. This model is likely the most reliable individual model because it only includes proxies that we are confident matter for an organism’s sentience, so proxies that cannot be well-justified (such as “does the organism move?”) are omitted. As such, if an organism possesses a high-value proxy which is not present in unconscious human processes, we have gained more information about the organism’s likelihood of sentience. The estimated probabilities of sentience from this model are in Table 4 below.

Compared to the priors, the sentience evidence significantly increased the probability of sentience for many vertebrates and octopuses; in particular, pigs, cows, and chickens are almost certainly sentient. Sea life, fruit flies, and bees’ probabilities of sentience remained relatively unchanged. On the other hand, the sentience evidence led to decreases in the probabilities of sentience for many invertebrates. However, one should be still cautious about interpreting this decline in invertebrate sentience, since “Unknowns” are given zero weight and less is known about invertebrate capacities.

Table 4: #1 High-value proxies model for the probability of sentience

Species Mean 5th-percentile 50th-percentile 95th-percentile
Pigs

0.925

0.737

0.973

0.99

Cows

0.91

0.712

0.945

0.99

Chickens

0.876

0.629

0.904

0.99

Octopuses

0.783

0.439

0.775

0.99

Bees

0.466

0.038

0.422

0.905

Fruit Flies

0.451

0.067

0.329

0.919

Carp

0.453

0.081

0.328

0.912

Crayfish

0.453

0.082

0.327

0.91

Salmon

0.451

0.078

0.327

0.909

Crabs

0.426

0.078

0.308

0.85

Ants

0.3

0.032

0.234

0.58

Black Soldier Flies

0.294

0.079

0.218

0.574

Spiders

0.257

0.016

0.208

0.521

Cockroaches

0.265

0.018

0.184

0.57

Earthworms

0.083

0.002

0.041

0.244

Sea Hares

0.128

0.002

0.04

0.384

Silkworms

0.082

0.002

0.039

0.239

C. elegans

0.068

0

0.004

0.268

Welfare Range Distributions

Methods4

Overview

For each model and organism type, the overall method involved:

  1. Specifying simulation parameters.
  2. Simulating the presence or absence of welfare range proxies, generating a set of arrays of 10,000 Bernoulli variables.
  3. Summing the Bernoulli variables for proxies included in the model for the organism in question to get a “welfare sum” for the organism, and applying a model-dependent formula to this sum to create a “welfare score”.
  4. Under the assumption that humans possess all these proxies, calculating the welfare score for humans under the model in question.
  5. Dividing the organism’s welfare score by that of humans to estimate the organism’s welfare range (conditional on the organism’s sentience and not adjusted for the probability that flicker-fusion frequency matters for welfare).
  6. Adjusting the conditional welfare range by the probability that flicker-fusion frequency is important for welfare realization.
  7. Multiplying the conditional welfare ranges by the probability of the organism’s sentience (as generated by the probability of sentience mixture model).

Finally, we created a mixture model for the welfare ranges of each animal, both conditioned on sentience and after the probability of sentience is taken into account. A second mixture model also included the results from the neuron count model for welfare ranges.

Parameter Selection

To generate the distributions of welfare ranges across species and models, the user must answer the same three questions about whether to give non-zero probability to “Unknown,” “Lean no,” and “Likely no” judgments and what weight should be given to proxies we’re highly confident matter for welfare ranges as were asked for the probabilities of sentience. As before, users can change the probabilities given to “Unknowns” for one or more species of their choosing.

In our final simulations:

  1. We chose not to assign any weight to proxies with “unknown” judgments for any species. This likely leads to underestimating the welfare ranges for several animal types.
  2. We chose to assign positive probabilities to proxies whose judgments are “likely no” and “lean no.”
  3. We weighted the proxies that we are highly confident matter for welfare ranges as being five times as important as all other proxies.

Simulations for All Proxies

The method of simulating the presence or absence of welfare range proxies in the eleven species studied is nearly the same as is used for the probabilities of sentience. However, there was one notable difference.

Because some proxies were included in both the welfare range table and the sentience table, and because we want welfare ranges given sentience, we needed to account for the dependence amongst these two lists. For a given simulation and species, we extracted the sentience scores for each overlapping proxy and used the average of these sentience scores (if more than one sentience proxy mapped onto a single welfare range proxy) as the welfare range score for that species and that simulation. This procedure included re-weighting the proxies for whether or not they were high-confidence proxies in either list. For example, the judgment for the “Navigation strategies” welfare range proxy (which is not a high-confidence welfare proxy) was determined using the same evidence as was used to determine the ability to “Navigate known paths/areas” (not a high-confidence sentience proxy) and “Navigate unknown paths/areas” (a high-confidence sentience proxy) in the sentience proxy table. Assuming the high-confidence proxies are given 5 times the weight of other proxies, the welfare score for the “Navigation strategies” proxy is equal to the average of the “Navigate unknown paths/areas” score (divided by 5) and the “Navigate known paths/areas” score. Most overlapping proxies did not map onto several sentience proxies, so the scores were simply equivalent after reweighting for importance. No sentience proxies mapped onto multiple welfare range proxies.

Models

There were eight models for which we generated welfare range distributions. These were selected because they were based on the Welfare Range Table, which we take to be our best guide to differences between the taxa of interest. From the twelve welfare range models, we included:

In addition, we added a model that is like the qualitative model, in that it divides the species welfare sum by the human welfare sum without applying a non-linear formula, but it differs from the qualitative model by only including higher-confidence proxies. We called it the “High-confidence (simple scoring)” model.

Welfare Range Calculations

After the presence of welfare range proxies was simulated, the first step in estimating the welfare ranges for a given model involved filtering out all proxies that were not included in the model.

Next, for each simulation, we calculated an organism’s “welfare sum” by adding up all the Bernoulli variables for that simulation across all proxies included in the model. (For example, for the first simulation, all Bernoulli variables at the 0th index were added up, across all proxies, to get the 0th simulation’s welfare sum). Then, under the assumption that humans definitively possess all of the welfare proxies, we created a welfare sum for humans (which applies any additional weight to the high-confidence proxies).

Each model involved applying a particular mathematical formula to the welfare sums to generate a “welfare score”–such as cubing the welfare sum, dividing the sum of hedonic proxies by cognitive proxies, or simply raising the welfare sum to the first power (doing nothing). This formula was applied at this stage to the welfare sums for both the non-human animal and humans separately.

Finally, the welfare range of the non-human animal (conditioned on sentience and not adjusted by flicker-fusion frequency) was estimated by dividing the animal’s welfare score by that of humans.

After estimating the welfare range (conditioned on sentience) of an animal relative to that of humans, we weighted this welfare range by the expected influence that flicker-fusion frequency matters for an organism’s welfare range. Specifically, we assume that there’s a 28% chance that an animal’s flicker fusion frequency matters for its welfare range. Thus, we applied the formula:

Where is the ratio of the non-human species’ flicker fusion frequency to that of humans.

After the flicker-fusion frequency adjustment, we imported the array of 10,000 probabilities of sentience for each organism as generated by the probability of sentience data. Specifically, we used the probabilities generated by the “#1 high-value proxies” model. Because each of the welfare ranges was generated conditioned on the sentience data with the corresponding index, we multiplied the welfare range by the probability of sentience. This created, for each animal, a welfare range adjusted by its probability of sentience.

Shrimp were not studied in the probability of sentience project. However, we approximated that their probability of sentience distribution is roughly equivalent to the prior probability distribution for crabs (a similar organism), and we used this assumed distribution to estimate the sentience-adjusted welfare ranges for shrimp.

Then, we created a mixture model to aggregate the welfare range distributions across all models to factor in our uncertainty about which model is correct. Specifically, for a given organism and model, we modeled each distribution as a normal distribution5 with a 90% interval with lower and upper bounds equal to the fifth- and ninety-fifth percentile welfare ranges. Each of the eight models was assigned an equal probability of being correct. Then, we sampled 10,000 welfare ranges from this mixture model and stored the resulting 5th-, 50th-, and 95th-percentile welfare ranges in a data frame.

Finally, we created a mixture model that incorporated the results from the neuron count model (Table 5) to see how the central welfare range estimates would change if we give equal weight to the neuron count model as we do to each of the eight models for which simulations were conducted. Specifically, this mixture model gives one-ninth weight to the possibility that an organism’s welfare range is equal to the number of neurons it possesses relative to humans.

Table 5: Neuron Count Model of Welfare Range Results

Organism Neuron Count Relative to Humans
Pigs 0.005350
Chickens 0.002439
Carp 0.000160
Salmon 0.000160
Octopuses 0.005407
Shrimp 0.000001
Crabs 0.000001
Crayfish 0.000001
Bees 0.0000013
Black Soldier Flies 0.000004
Silkworms 0.000010

Results

Outputs for All Models

Tables containing the distribution summary statistics for welfare ranges (unadjusted by probabilities of sentience) for all models are found in the spreadsheet:

The welfare ranges for each model after adjusting for the probability of sentience are found in the spreadsheet:

All outputs are also in the welfare_range_estimates folder of the GitHub repository.

A Mixture of All Models (Excluding and Including Neuron Counts)

Tables 6 and 7 below display the probability-of-sentience-adjusted welfare ranges for the mixture models that exclude and include the neuron count model, respectively.

Ultimately, the median welfare range estimates dropped slightly but not significantly for most organisms (the maximum drop was about 0.04). However, as can be expected, the 5th-percentile welfare ranges dropped to equal the neuron count model’s estimated welfare ranges.

Even when we include the neuron count model, chickens and pigs are estimated to have approximately a third to a half of the welfare range of humans, respectively. On the other end, sea life invertebrates are estimated to have under 10% of the welfare range as humans.

Table 6: P(Sentience)-adjusted welfare ranges – Mixture model (without neuron counts)

Species Mean 5th-percentile 50th-percentile 95th-percentile
Pigs

0.548

0.199

0.565

1.069

Chickens

0.368

0.086

0.368

0.892

Octopuses

0.38

0.037

0.271

1.528

Carp

0.199

0.01

0.107

0.716

Bees

0.165

0.006

0.1

0.47

Salmon

0.157

0.004

0.079

0.602

Crayfish

0.137

0.002

0.057

0.591

Shrimp

0.21

0.001

0.045

1.222

Crabs

0.102

0.001

0.036

0.484

Black Soldier Flies

0.05

0

0.019

0.232

Silkworms

0.02

0

0.003

0.08

Table 6: P(Sentience)-adjusted welfare ranges – Mixture model (with neuron counts)

Species Mean 5th-percentile 50th-percentile 95th-percentile
Pigs

0.484

0.005

0.512

1.031

Chickens

0.326

0.002

0.327

0.856

Octopuses

0.349

0.004

0.238

1.527

Carp

0.175

0

0.087

0.59

Bees

0.148

0

0.071

0.449

Salmon

0.136

0

0.055

0.495

Crayfish

0.119

0

0.035

0.503

Shrimp

0.19

0

0.029

1.095

Crabs

0.093

0

0.026

0.444

Black Soldier Flies

0.044

0

0.014

0.215

Silkworms

0.018

0

0.001

0.068

Opportunities for Future Improvement

Notes


  1. All of the probability of sentience and welfare range code can be found in the public GitHub repository for the moral weight project. The input data are in the input_data folder of this GitHub repository. The sent_simulate.py and sentience_models.ipynb files contain the code used to generate the sentience simulations and analyze them for the six models studied, respectively. Thanks to Matthew Romer for run time optimizations.  

  2. We used a Guesstimate model to create probability distributions (either normal or lognormal) whose means were as close as possible to the best guesses given by Davis while keeping the lower and upper bounds of the 90% confidence interval close to Davis’. However, there are slight differences because not all of his ranges could be neatly classified as normal or lognormal.  

  3. The map from probability judgments to probability intervals is as follows: “very probably yes” = (0.9, 1.0), “probably yes” = (0.65, 0.9), “possibly yes” = (0.5, 0.65), “possibly no” = (0.35. 0.5), “probably no” = (0.1, 0.35), “very probably no” = (0, 0.1) 

  4. In the GitHub repository, the wr_simulate.py and wr_models.ipynb files contain the code used to generate the Monte Carlo simulations and analyze the results for each welfare range model. Thanks again to Matthew Romer for his contributions to run-time efficiency.  

  5. The undiluted experience model was the only model whose results were not approximately normal; because of its heavy right skew, it was modeled as a lognormal distribution.