TETRAD 3:
Tools for Causal Modeling
User's Manual
Program by:
Peter Spirtes, Richard
Scheines,
Christopher Meek, Thomas
Richardson, Clark Glymour,
Herbert Hoijtink and Anne
Boomsma
User's Manual by:
Richard Scheines, Peter
Spirtes,
Clark Glymour, Christopher
Meek and Thomas Richardson
Getting TETRAD 3
Tetrad
3 runs on Sun sparcstations or PCs. You can download it, or run it remotely.
Downloading via FTP
For
1) FTP to: unix.andrew.cmu.edu
2) User ID: philoso
3) Password: guest
4) cd /afs/andrew/hss/phi/tetrad3
5) set the mode to binary:
6) To get the Sun version: get suntet3
7) To get the PC version: get wintet3.exe
Running Remotely
1) telnet to: sun4.andrew.cmu.edu
2) User ID: philoso
3) Password: guest
4) The program is the executable file: /afs/andrew/hss/phi/tetrad3/suntet3
Acknowledgments
Research for this work was funded by the Navy Personnel Research and Development Center and the Office of Naval Research, under grants #N00014-88-K-0194, #N00014-89-J-1964, #N00014-91-J-1361, and #N00014-93-1-0568. We thank Steve Sorensen, Susan Chipman, Jan Callahan, and Laurie MacDonald, all of whom have contributed ideas that influenced the design of the program.
We thank Amy Culbertson, Phil Craiger, Jeff Houston, Bob Morrison, Mike Nikada and Rich Reimer, all of whom have patiently tried early versions of TETRAD 3 on their data and alerted us to bugs and conceptual problems. We thank Steve Klepper for lots of statistical advice and for trying to convince us to avoid a philosopher's jargon. Undoubtedly we were too stubborn and this text will still be in a language unfamiliar to the average reader. We thank Peter Bentler, Marek Druzdzel, Gregory Cooper, Frank Faulbaum, Steve Fienberg, Brian Junker, Kevin Kelly, Michael Meyers, Judea Pearl, Thomas Richardson, James Robins, Teddy Seidenfeld, and Nanny Wermuth for their challenges and suggestions.
Finally we thank our spouses, Jessica Feldman, Martha Harty, Alison Kost, and Mary Meek, for their patience.
How to Use this Manual
TETRAD 3 is a collection of tools, or modules, to help build causal models of statistical data. We have organized the manual into two parts. The first (chapters 1-4) describes information common to the entire enterprise, and the second (chapters 5-17) contains detailed descriptions of each of the 13 modules.
All of the modules can be operated after reading only the first few pages of the chapters that describe them, but more sophisticated uses of the program require reading chapters 1 and 3, and the first five sections of chapter 4; in addition, a reading of chapter 2 is strongly recommended. Chapter 1 describes what the program does in general terms, gives an overview of the modules, and describes several common research contexts in which TETRAD 3 can help. Chapter 2 provides an abridged glimpse at the theoretical foundation upon which TETRAD 3 is built. It describes the basic connection between causal hypotheses and probability distributions, several key theorems that characterize when causal inference is possible, and the two kinds of statistical models that TETRAD 3 is meant to handle: recursive linear structural equation models and Bayesian networks. The full theory is given in Causation, Prediction, and Search (Spirtes, Glymour, & Scheines, 1993). Chapter 3 describes how to operate the program. It documents how to enter and exit the program, and gives several examples of how to use the procedures. Chapter 4 explains the input to TETRAD 3, that is, how to construct input files, how to enter commands, the syntactical restrictions on variable names, numbers, and so on. The beginning of the chapter describes information that is essential for using any module, but most of the chapter is intended to be a reference for questions that come up in the course of extended use. Part 3 (chapters 5-14) contains descriptions of each of the modules that comprise TETRAD 3.
The Appendix describes some of the algorithms used and characterizes their reliability.Throughout the manual we give examples of actual TETRAD 3 sessions. Instead of using "suntet3" or "wintet3" which are the names of the Sparcstation and PC versions, respectively, we use "tetrad3" throughout. For example, a session from chapter 3 illustrating how to enter and exit TETRAD 3 is given here:
Session
3.1: Entering and Exiting TETRAD 3
********************************************************************
tetrad3> pwd
/afs/andrew.cmu.edu/hss/phi/tetrad3
tetrad3> tetrad3
TETRAD - Version 3.0
Beta Version - October, 1996
COPYRIGHT (C) 1996 by
Peter Spirtes, Richard Scheines, Clark Glymour
Christopher Meek, Thomas Richardson,
Herbert Hoijtink, and Anne Boomsma
For help, type "help"
Initializing Data Structures
>exit
tetrad3>
*******************************************************************
The sessions are titled by chapter number and session number, with the titles underlined. The actual sessions are demarcated above and below with a line of "*************." Text printed by the program is in fixed width font, with user input in bold. Comments that explain the input or the response of the program, but are not actually part of the user input or the program response are indented and in Times italic font, for example:
To exit TETRAD, we type exit.
We also give many examples of input and output files, which are all regular text files. (Often, for brevity, we do not reproduce the entire output file.) We list these files in a fixed width font, and separate them from the manual text with a line of "#######"s that includes the file name. These files are included on the disc containing TETRAD 3 in the
"Examples" directory. The line of "###"s is not part of the file itself. For example, the following shows the input file pub.dat.
############# pub.dat #####################
/Covariance
162
ab gpq pre qfj sex cite pubs
1.00
.62 1.00
.25 .09 1.00
.16 .28 .07 1.00
-.10 .00 .03 .10 1.00
.29 .25 .34 .37 .13 1.00
.18 .15 .19 .41 .43 .55 1.00
/knowledge
addtemporal
1 sex
2 ab
3 gpq pre
4 qfj
5 pubs
6 cite
############# pub.dat #####################
When TETRAD 3 asks a question, it often provides a default answer that can be invoked by hitting a carriage return. The default is always in square brackets, for example, [y]. We explicitly write the symbol for a carriage return <CR> only when a default answer is chosen, but every command to the program must be followed by a carriage return before it is executed.
TETRAD 3 is a work in progress; new versions will be produced, and bugs removed. We would appreciate any comments on any part of the program and manual. Please send them to any of the authors at:
Dept. of Philosophy
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-8568
Email:
scheines@andrew.cmu.edu
ps7z@andrew.cmu.edu
cg09@andrew.cmu.edu