/ paper-RCIT Public

Code for "Ratings and Cooperative Information Transmission"

# martelosaurus/paper-RCIT

Switch branches/tags
Nothing to show

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

## Files

Failed to load latest commit information.
Type
Name
Commit time

# Ratings and Cooperative Information Transmission

Forthcoming at Management Science

The sender and receiver agree on a message function `m:[0,1]->[0,1]`. The sender privately observes `q`, which is uniformly distributed on `[0,1]`. She sends the receiver the message `m(q)`. The receiver receives the message `m_tilde = m(q)+e`, where `e` is distributed on `[-e_bar,e_bar]` according to the PDF `f`. She then takes an action `A(m_tilde)`. The sender and receiver incur the cost `((q-A(m_tilde))^2)*I(q)` where `I:[0,1]->[0,1]` is the importance function.

We look at two dimensions: the importance function and the error distribution. In one set of analyses, we assume uniform importance and non-uniform error. In the other, we assume non-uniform importance and uniform error.

## Non-Uniform Error, Uniform Importance

`I(q)=1` and `f` is the PDF of a random variable that is distributed according to a quadratic distribution on `[-e_bar,e_bar]`. We require that (1) `f` is symmetric about zero and (2) `f` integrates to one on `[-e_bar,e_bar]`, which leaves one free parameter we denote by `b`.

```from constant_I import Message

B = [-.2,-.1,0.,1.,2.,4.]
while B:
n = len(B)
_b = B.pop()
m = Message(M=100,N=4,b=_b)
m.plot_msg("msg" + str(n) + ".pdf",title=False)
m.plot_err("err" + str(n) + ".pdf",2.,6.,title=False)```

## Uniform Error, Non-Uniform Importance

`f(e)=1/(2*e_bar)` and `I` is specified below.

```from constant_f import Message

# importance function(s)
I = {
'i1' : lambda x: x**3.,
'i2' : lambda x: x**(-1.5),
'i3' : lambda x: (6.*(x-.5)**2.+.5)**3.
}

# for each importance function, plot discrete messages of size 5 and 20
for i in I:
for n in [5,20]:
m = Message(n,I[i])
m.plot_msg("msg" + i + str(n) + ".pdf",title=False)```

Code for "Ratings and Cooperative Information Transmission"

## Releases

No releases published

## Packages 0

No packages published